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.