再要新建行: 就是
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()
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)