En este articulo les voy a mostrar como buscar en una datagridview y ordenar los resultados con LINQ. Utilizaremos para buscar la extensión Contains y para ordenar los resultados en forma ascendente o descendente con orderby.
Interfaz Gráfica
Procedimiento
Luego de crear nuestro proyecto, agregamos una clase llamada personEn que va a contener las propiedades que van a corresponder a cada columna
class personEn
{
public int codEn { get; set; }
public string firstName { get; set; }
public string middleName { get; set; }
public string lastName { get; set; }
}
En el evento load del formulario vamos a cargar nuestro datagridview
private void BuscarOrdenarFrm_Load(object sender, EventArgs e)
{
itemsCMB.SelectedIndex = 0;
dataDG.DataSource = getPersons();
dataDG.Columns[0].Width = 120;
dataDG.Columns[1].Width = 120;
dataDG.Columns[2].Width = 120;
dataDG.Columns[3].Width = 120;
}
private List<personEn> getPersons()
{
using (SqlConnection cnn = new SqlConnection(ConfigurationManager.ConnectionStrings["CNNBD"].ToString()))
{
cnn.Open();
string query = "SELECT BusinessEntityID,FirstName, " +
"MiddleName,LastName FROM Person.Person";
SqlCommand cmd = new SqlCommand(query, cnn);
SqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
personEn person = new personEn();
person.codEn = reader.GetInt32(0);
person.firstName = reader[1].ToString();
person.middleName = reader[2].ToString();
person.lastName = reader[3].ToString();
personList.Add(person);
}
}
return personList;
}
En el sqlconnection utilizo la clase ConfigurationManager para obtener la cadena de conexión a nuestra base de datos.
