带有数据的数组
本文关键字:数组 数据 | 更新日期: 2023-09-27 18:02:51
我有一个数据网格,它的数据源是从数据库上的一个表中选择的。
一旦我读取表并在网格上显示数据,数据库中的行就被删除了(但我所有的数据都显示在我的网格上)。经过一些更改,添加和删除信息后,我需要将这些新行保存在一个新表中!
我正在尝试读取我的数据网格,但我不知道怎么做。
这是我的代码:
//fill my grid
SqlCeConnection conn = new SqlCeConnection();
StringBuilder sbQuery = new StringBuilder();
SqlCeCommand cmd = new SqlCeCommand();
conn.ConnectionString = ("Data Source =" +
(System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase)) +
"''MOB.sdf;Password=acwef;Persist Security Info=False;");
conn.Open();
DataSet ds = new DataSet();
SqlCeDataAdapter da = new SqlCeDataAdapter("SELECT * FROM TABDATAREG ", conn);
da.Fill(ds, "TABDATAREG ");
DivDup.dtgGrid.DataSource = ds.Tables[0].DefaultView;
//and here, I'm trying to read
foreach (DataRow renglon in DivDup.dtgGrid.rows)//<--------- BUT IT DOESNT WORK
{
arregloGrid[i, 0] = DivDup.dtgGrid[i, 0].ToString();//num_cía
arregloGrid[i, 1] = DivDup.dtgGrid[i, 1].ToString();//num_tipo
arregloGrid[i, 2] = DivDup.dtgGrid[i, 2].ToString();//num_activo
arregloGrid[i, 3] = DivDup.dtgGrid[i, 3].ToString();//sub_num_act
//posicion i
arregloGrid[i, 4] = DivDup.dtgGrid[i, 4].ToString();//marca
arregloGrid[i, 5] = DivDup.dtgGrid[i, 5].ToString();//modelo
arregloGrid[i, 6] = DivDup.dtgGrid[i, 6].ToString();//serie
arregloGrid[i, 7] = DivDup.dtgGrid[i, 7].ToString();//descripción
arregloGrid[i, 8] = DivDup.dtgGrid[i, 8].ToString();//porcentaje
arregloGrid[i, 9] = DivDup.dtgGrid[i, 9].ToString();//costo/importe
i++;
}
任何想法?
Issue:
- 您正在查找DataGrid中的DataRow。
- 你没有在循环中使用DataRow
问题可以在这个循环中看到:
foreach (DataRow renglon in DivDup.dtgGrid.rows)
{
}
可以这样做:
foreach (DataRow renglon in ds.Tables[0].Rows)
{
//here you can use renglon
}
下面是如何遍历datagrid:
int rowCount = ds.Tables[0].Rows.Count;
int colCount = ds.Tables[0].Columns.Count;
for(int row = 0; row < rowCount; row++)
{
for(int col = 0; col < colCount; col++)
{
arregloGrid[row, col] = DivDup.dtgGrid[row, col].ToString();
}
}