valor recorrer obtener modificar datos celda buscar c# .net datatable

c# - recorrer - obtener valor celda datatable jquery



Obtener valor de celda de un DataTable en C# (6)

Aquí hay un DataTable dt , que tiene muchos datos.

Quiero obtener el valor de celda específico de la tabla de datos, por ejemplo, celda [i, j] . Donde, i -> Filas y j -> Columnas. Voy a iterar el valor de i, j con dos forloops .

Pero no puedo entender cómo puedo llamar a una célula por su índice.

Aquí está el código:

for (i = 0; i <= dt.Rows.Count - 1; i++) { for (j = 0; j <= dt.Columns.Count - 1; j++) { var cell = dt.Rows[i][j]; xlWorkSheet.Cells[i + 1, j + 1] = cell; } }


El DataRow también tiene un indexer :

Object cellValue = dt.Rows[i][j];

Pero preferiría el método de extensión de Field fuertemente tipado que también admite tipos anulables :

int number = dt.Rows[i].Field<int>(j);

o incluso más legible y menos propenso a errores con el nombre de la columna:

double otherNumber = dt.Rows[i].Field<double>("DoubleColumn");


Probablemente necesites referenciarlo desde las Rows lugar de hacerlo como una celda:

var cellValue = dt.Rows[i][j];


Prueba esto

var ds = new DataSet(); var cellValue = (ds.Rows[0][1]).ToString();


Puede iterar DataTable esta manera:

private void button1_Click(object sender, EventArgs e) { for(int i = 0; i< dt.Rows.Count;i++) for (int j = 0; j <dt.Columns.Count ; j++) { object o = dt.Rows[i].ItemArray[j]; //if you want to get the string //string s = o = dt.Rows[i].ItemArray[j].ToString(); } }

Dependiendo del tipo de datos en la celda DataTable , puede convertir el objeto a lo que desee.


Si he entendido su pregunta correctamente, ¿desea mostrar una celda particular de su datatable poblada? Esto es lo que usé para mostrar la celda dada en mi DataGrid.

var s = dataGridView2.Rows[i].Cells[j].Value; txt_Country.Text = s.ToString();

Espero que esto ayude


También puede llamar al indexador directamente en la variable de datos:

var cellValue = dt[i].ColumnName