valor una seleccionado seleccionada recorrer obtener numero net filas fila dato columna celda c# .net datagridview

c# - una - DatagridView ¿Cómo tener un recuento de filas diferente por columna?



obtener valor de una celda de datagridview c# (2)

Así que estaba tratando de mostrar mis datos en formato específico en una vista de datagridview . Entonces mi formato es así:

A B C 1 1 1 2 2 x 3 x x

la x significa que no hay célula.

Como puede ver, cada columna tiene un recuento de filas diferente. Quiero lograr el mismo resultado en DatagridView o en cualquier otro control en Dot Net Framework.


Intenta seguir

DataTable dt = new DataTable("MyDataTable"); dt.Columns.Add("A", typeof(int)); dt.Columns.Add("B", typeof(int)); dt.Columns.Add("C", typeof(int)); dt.Columns["A"].AllowDBNull = true; dt.Columns["B"].AllowDBNull = true; dt.Columns["C"].AllowDBNull = true; dt.Rows.Add(new object[] { 1,2,3}); dt.Rows.Add(new object[] { 2, 2, }); dt.Rows.Add(new object[] { 3 }); datagridview1.DataSource = dt;


Para ampliar la respuesta de jdweng , si por alguna razón realmente quieres:

[T] él x significa que no hay célula.

Luego puede manejar el evento DataGridView.CellPainting para ocultar efectivamente la celda vacía. Eso sí, comenzará a parecer extraño cuando null celdas null se entremezclen en medio de celdas valiosas, y no solo en los extremos de la fila.

// ... dt.Rows.Add(new object[] { 3, null, null }); this.dataGridView1.DataSource = dt; this.dataGridView1.CellPainting += DataGridView1_CellPainting;

private void DataGridView1_CellPainting(object sender, DataGridViewCellPaintingEventArgs e) { if (e.RowIndex >= 0 && e.ColumnIndex >= 0) { DataGridViewCell cell = this.dataGridView1[e.ColumnIndex, e.RowIndex]; if (cell.Value == null || cell.Value is DBNull) { using (SolidBrush brush = new SolidBrush(this.dataGridView1.BackgroundColor)) { e.Graphics.FillRectangle(brush, e.CellBounds); } e.Handled = true; } } }