| 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
|