Que tal amigos taringueros, tengo ya algún tiempo que no posteo nada y como complemento a mis anteriores Post sobre programación en C# los cuales son:
En esta ocasión el post es mas Relajado y menos completo pero igual de útil para quienes recién comienzan.
Sumar Cantidades de un DataGridView
Cuando no nos ha pasado que tenemos una aplicación que necesita hacer sumas, o restas o cualquier otra operación matemática, quizás en algún momento tendrás que toparte con esta necesidad, mas si estas en algún proyecto tipo "Punto de Venta" donde este tipo de operaciones son esenciales, bueno te tengo una pequeña y simple solución donde solo necesitaremos un DataGridView que este previamente llenado con datos, o que se se encuentre abierto a la agregación, edición, etc.
Cuando llenemos el DataGridView debemos de especificar en algún momento alguna columna de Cantidad, Piezas, Unidades o como desees llamarlo donde tendrás valores numéricos los cuales son los que queremos sumar pues para hacer este proceso basta con hacer este pequeña operación, donde obtendremos el valor de cada celda de una columna que especificaremos con el Nombre "Cantidad" lo recorreremos y asignaremos el valor a un control Label, el código a continuación:
//Variable donde almacenaremos el resultado de la sumatoria.
double sumatoria = 0;
//Método con el que recorreremos todas las filas de nuestro Datagridview
foreach (DataGridViewRow row in gvGastos.Rows)
{
//Aquí seleccionaremos la columna que contiene los datos numericos.
sumatoria += Convert.ToDouble(row.Cells["Cantidad"].Value);
}
//Por ultimo asignamos el resultado a el texto de nuestro Label
lblTotal.Text = Convert.ToString(sumatoria);
Verificar si una aplicación ya se encuentra Abierta
Uno de los primeros inconvenientes cuando empezamos a desarrollar aplicaciones mas completas es que necesitamos que los usuarios no puedan abrir mas de una vez una aplicación que ya se encuentra abierta, para realizar este proceso existen varias formas de hacerlo, ya sea importando una de las APIS de Windows que lo verifica o crear un método para poder verificar si se esta ejecutando un proceso previo que cumple con las características de nuestro programa, esta es la forma que utilizaremos ya que el importar un API de Windows evitara que nuestra aplicación pueda funcionar en Linux o cualquier otros S.O, esto lo podemos hacer de la siguiente forma.
Primero que nada tendremos que tener creada la clase Program.cs que ya a esta altura debemos de saber que es la clase principal donde ira ubicado el método Main de nuestra aplicación, accesamos al código y creamos un método que contenga la siguiente estructura:
private static bool IsExecutingApplication()
{
// Proceso actual
Process currentProcess = Process.GetCurrentProcess();
// Matriz de procesos
Process[] processes = Process.GetProcesses();
// Recorremos los procesos en ejecución
foreach (Process p in processes)
{
if (p.Id != currentProcess.Id)
{
if (p.ProcessName == currentProcess.ProcessName)
{
return true;
}
}
}
return false;
}
Este método almacenara en un arreglo información sobre los procesos que se están ejecutando, y mas en especifico sobre nuestro proceso, para después recorrer el arreglo y verificar si nuestro proceso se encuentra en ejecución si es así nos regresara Verdadero , en caso contrario falso, lo único que nos falta es agregar el uso del método, en el método Main.
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
// Ejecutamos la aplicación siempre y cuando no se esté ejecutando ya.
//
if (IsExecutingApplication() == false)
{
Application.Run(new Form1());
}
else
{
}
}
Espero te haya servido esta pequeña información, saludos.
En esta ocasión el post es mas Relajado y menos completo pero igual de útil para quienes recién comienzan.
Sumar Cantidades de un DataGridView
Cuando no nos ha pasado que tenemos una aplicación que necesita hacer sumas, o restas o cualquier otra operación matemática, quizás en algún momento tendrás que toparte con esta necesidad, mas si estas en algún proyecto tipo "Punto de Venta" donde este tipo de operaciones son esenciales, bueno te tengo una pequeña y simple solución donde solo necesitaremos un DataGridView que este previamente llenado con datos, o que se se encuentre abierto a la agregación, edición, etc.
Cuando llenemos el DataGridView debemos de especificar en algún momento alguna columna de Cantidad, Piezas, Unidades o como desees llamarlo donde tendrás valores numéricos los cuales son los que queremos sumar pues para hacer este proceso basta con hacer este pequeña operación, donde obtendremos el valor de cada celda de una columna que especificaremos con el Nombre "Cantidad" lo recorreremos y asignaremos el valor a un control Label, el código a continuación:
//Variable donde almacenaremos el resultado de la sumatoria.
double sumatoria = 0;
//Método con el que recorreremos todas las filas de nuestro Datagridview
foreach (DataGridViewRow row in gvGastos.Rows)
{
//Aquí seleccionaremos la columna que contiene los datos numericos.
sumatoria += Convert.ToDouble(row.Cells["Cantidad"].Value);
}
//Por ultimo asignamos el resultado a el texto de nuestro Label
lblTotal.Text = Convert.ToString(sumatoria);
Verificar si una aplicación ya se encuentra Abierta
Uno de los primeros inconvenientes cuando empezamos a desarrollar aplicaciones mas completas es que necesitamos que los usuarios no puedan abrir mas de una vez una aplicación que ya se encuentra abierta, para realizar este proceso existen varias formas de hacerlo, ya sea importando una de las APIS de Windows que lo verifica o crear un método para poder verificar si se esta ejecutando un proceso previo que cumple con las características de nuestro programa, esta es la forma que utilizaremos ya que el importar un API de Windows evitara que nuestra aplicación pueda funcionar en Linux o cualquier otros S.O, esto lo podemos hacer de la siguiente forma.
Primero que nada tendremos que tener creada la clase Program.cs que ya a esta altura debemos de saber que es la clase principal donde ira ubicado el método Main de nuestra aplicación, accesamos al código y creamos un método que contenga la siguiente estructura:
private static bool IsExecutingApplication()
{
// Proceso actual
Process currentProcess = Process.GetCurrentProcess();
// Matriz de procesos
Process[] processes = Process.GetProcesses();
// Recorremos los procesos en ejecución
foreach (Process p in processes)
{
if (p.Id != currentProcess.Id)
{
if (p.ProcessName == currentProcess.ProcessName)
{
return true;
}
}
}
return false;
}
Este método almacenara en un arreglo información sobre los procesos que se están ejecutando, y mas en especifico sobre nuestro proceso, para después recorrer el arreglo y verificar si nuestro proceso se encuentra en ejecución si es así nos regresara Verdadero , en caso contrario falso, lo único que nos falta es agregar el uso del método, en el método Main.
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
// Ejecutamos la aplicación siempre y cuando no se esté ejecutando ya.
//
if (IsExecutingApplication() == false)
{
Application.Run(new Form1());
}
else
{
}
}
Espero te haya servido esta pequeña información, saludos.