Colabora .NET |
Resaltar una línea del DataGridPermite al usuario tener una mejor visión de lo seleccionado
Fecha: 07/Ago/2006 (7-8-2006)
|
Resalta una línea completa del DataGridCuando se selecciona una celda del DataGrid resalta toda la línea completa. Antes se debe agregar un textBox (txtConn), un button(btnBind), un dataGrid(dgEmployees) y un label con los name indicados en los paréntesis Dentro del textBox deberemos colocar nuestra cadena de conexión, en este ejemplo irá con el usuario por default sa A continuación sigue código en C#: Evento Click del button private void btnBind_Click(object sender, System.EventArgs e) { string connStr = txtConn.Text; string sqlQuery = "SELECT * FROM Employees"; DataSet ds = new DataSet(); SqlConnection conn = new SqlConnection(connStr); SqlDataAdapter da = new SqlDataAdapter(sqlQuery, conn); try { da.Fill(ds, "Employees"); } catch(Exception ex) { MessageBox.Show("No se puede conectar con la base de datos" + "\r\n" + ex.ToString()); this.Close(); return; } finally { conn.Close(); } DataGridTableStyle tableStyle = new DataGridTableStyle(); tableStyle.MappingName = "Employees"; int numeroColumna = ds.Tables["Employees"].Columns.Count; ColumnDataGrid columnas; for(int i = 0; i < numeroColumna; ++i) { columnas = new ColumnDataGrid(); columnas.HeaderText = ds.Tables["Employees"].Columns[i].ColumnName; columnas.MappingName = ds.Tables["Employees"].Columns[i].ColumnName; tableStyle.GridColumnStyles.Add(columnas); } dgEmployees.TableStyles.Clear(); dgEmployees.TableStyles.Add(tableStyle); dgEmployees.DataSource = ds.Tables["Employees"]; } public class ColumnDataGrid : DataGridTextBoxColumn { private int fila = -1; protected override void Edit(System.Windows.Forms.CurrencyManager origen, int numeroFila, System.Drawing.Rectangle bordes, bool lectura, string texto, bool visible) { if(fila > -1 && fila < origen.List.Count + 1) this.DataGridTableStyle.DataGrid.UnSelect(fila); fila = numeroFila; this.DataGridTableStyle.DataGrid.Select(fila); } }
Espacios de nombres usados en el código de este artículo:System.Data.SqlClient
|
Código de ejemplo (ZIP): |
Fichero con el código de ejemplo: sebasf_LineaDataGrid.zip - 25 KB
|