怎么把datatable中多行数据循环插入表中

怎么把datatable中多行数据循环插入表中,第1张

在向DataTable里加入数据前 Add Columns.

再要新建行: 就是

drRow=dtTable.NewRow()

drRow["nid"] = i//序号

drRow["CommodityCode"] = lbltm.Text

drRow["ItmeName"] = lblhm.Text

drRow["Unit"] = lbldw.Text

drRow["Retail"] = lb.Text

drRow["zkl"] = lb2.Text

drRow["zcoutn"] = tb.Text

drRow["moneys"] = lblzj.Text

i++

dtTabel.Rows.Add(drRow)

}

不用for循环。原因是你新建列之后,dtTable并没有Rows=0所以foreach不执行。

所以要先用Add(drRow)增加数据。

C# code public void LoadDataGridViewData(DataGridView view, DataTable table) { view.Rows.Add(20)int index = 0foreach (DataRow row in table.Rows) { DataGridViewRow viewRow = view.Rows[index]for (int j = 0j <view.Columns.Countj++) { if (!String.IsNullOrEmpty(view.Columns[j].DataPropertyName) &&row.Table.Columns.Contains(view.Columns[j].DataPropertyName)) viewRow.Cells[j].Value = row[view.Columns[j].DataPropertyName]} index++} } LoadDataGridViewData(dataGridView1, dt)------解决方案--------------------------------------------------------view.Rows.Add(20)改成view.Rows.Add(40),外面再套一个for循环,像你写的那样就行了------解决方案--------------------------------------------------------C# code DataTable dt = new DataTable()for(int i=0i<20i++){ dt.Merge(item)} dataGridView1.DataSource = dt------解决方案--------------------------------------------------------DataTable dt = item.Clone()dataGridView1.DataSource = dtfor (int i = 0i <20i++){/*更新item*/dt.Merge(item.Clone())}我自己的电脑不在我手上,别人的电脑没有环境我也不好测试,希望这样可以对你有帮助(这里的item是可以不断更新的,当然这只是简略的写一下)------解决方案--------------------------------------------------------每40条数据放在dataset的一个表里C# code for(int i=0i<20i++) { dataGridView1.DataSource = dataset1.Tables[i]}------解决方案--------------------------------------------------------探讨引用:数据源是datatable的话C# codepublic void LoadDataGridViewData(DataGridView view, DataTable table){view.Rows.Add(20)int index = 0foreach (DataRo……我的意思是循环20次 每次添加40行------解决方案--------------------------------------------------------说的 很对呀 但是我这里 数据 获取 不是同步的先获取40条,显示到DataGridView,然后在获取40条,再动态补增到DataGridView,依次 循环每次只要把所有的数据加载就OK 了

首先给datatable的每行增加一个行号(如果已经有行号,则不必此步骤)。

找到第10行。

DataTable dt = new DataTable()

DataRow dr = dt.Rows[9]

dr[0] = "10"

dr[1] = "a"

dr[2] = "a"

//...

dt.Rows[9].AcceptChanges()

for (int i = 9i <dt.Rows.Counti++)

{

dt.Rows[i][0] = i+2

dt.Rows[i].AcceptChanges()

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11402165.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存