我将数据从ArrayList传输到DataTable,但我从第一行得到了重复的结果集。你能在代码中看到我的错误吗?谢谢!
我的代码如下:
private void BindGridview()
{
cipDAL.openConnection();
records = cipDAL.GetAllCIPS();
string[] arr = records.OfType<object>().Select(o => o.ToString()).ToArray();
DataTable dtNew = new DataTable();
DataRow dr;
dtNew.Columns.Add("FY");
dtNew.Columns.Add("CIP");
dtNew.Columns.Add("STATUS");
dtNew.Columns.Add("REVISION");
dtNew.Columns.Add("PR");
dtNew.Columns.Add("PA");
dtNew.Columns.Add("CIPTOTAL");
dtNew.Columns.Add("PLANTOTAL");
dtNew.Columns.Add("CHECKED");
dtNew.Columns.Add("CIPID");
for(int i = 0; i < arr.GetLength(0); i++)
{
dr = dtNew.NewRow();
dr[0] = arr.GetValue(0).ToString();
dr[1] = arr.GetValue(1).ToString();
dr[2] = arr.GetValue(2).ToString();
dr[3] = arr.GetValue(3).ToString();
dr[4] = arr.GetValue(4).ToString();
dr[5] = arr.GetValue(5).ToString();
dr[6] = arr.GetValue(6).ToString();
dr[7] = arr.GetValue(7).ToString();
dr[8] = arr.GetValue(8).ToString();
dr[9] = arr.GetValue(9).ToString();
dtNew.Rows.Add(dr);
}
gvCIP.DataSource = dtNew;
gvCIP.DataBind();
cipDAL.closeConnection();
答案 0 :(得分:0)
看起来你永远不会从阵列中获取新值。试试这个:
for(int i = 0; i < arr.GetLength(0); i++)
{
dr = dtNew.NewRow();
dr[0] = arr[i][0];
dr[1] = arr[i][1];
dr[2] = arr[i][2];
dr[3] = arr[i][3];
dr[4] = arr[i][4];
dr[5] = arr[i][5];
dr[6] = arr[i][6];
dr[7] = arr[i][7];
dr[8] = arr[i][8];
dr[9] = arr[i][9];
dtNew.Rows.Add(dr);
}