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