在ListView 的Item[i]绑定Table1的列名,在Item[i].SubItem上绑定Table2的列名,
循环获得Table1的DataRow1 和Table2的DataRow2.通过Row1[Item[i].Text] = Row2[Item[i].SubItem[i].Text]这样的赋值方式.添加Table1.Rows.add(Row1[Item[i].Text])插入到Table1中.
问题是:最后在这个循环中DataRow只取得一行.循环嵌套最终死循环,插入失败.请问可以用循环插入行中的列名的方式进行数据绑定,如何控制列名相对应呢?
循环获得Table1的DataRow1 和Table2的DataRow2.通过Row1[Item[i].Text] = Row2[Item[i].SubItem[i].Text]这样的赋值方式.添加Table1.Rows.add(Row1[Item[i].Text])插入到Table1中.
问题是:最后在这个循环中DataRow只取得一行.循环嵌套最终死循环,插入失败.请问可以用循环插入行中的列名的方式进行数据绑定,如何控制列名相对应呢?
解决方案 »
- Timer 定时器的问题------50分
- Entity Mode-First 方式 生成mysql数据库
- 数组问题
- 獲取行號!~~~
- C#会不会取代MFC?在应用开发方面?
- C# Api编写,实现类似QQ自动开机自动登陆功能
- TreeView 加号问题
- C# 读取XML XmlNode的一个问题
- 源码参考网站推荐。。除了 http://www.codeproject.com/ 还有其它的请发一些。。我先发个
- 两个单独的c# winform,怎么通过接口互相设定对方的文本框值?
- 下拉框绑定数据库后,如何在下拉框的最前面增加一项
- 一个关于删除的问题,请大空帮看看!!!!!!!!!!!!!!!!!!!!!11
SubcontractDataService service = new SubcontractDataService();
DataTable dt1 = service.GetLocalDestSubcontractInfo(Suite.GetConnectionStringByDest);
ArrayList list = new ArrayList(); if(dt1.Rows.Count > 0)
{
for(int i=0;i<dt1.Rows.Count;i++)
{
DataRow row1 = dt1.Rows[i];
string id = row1["ContractId"].ToString();
DataTable dt2 = service.GetLocalhostSubcontractInfoByContractID(id,Suite.GetLocalHostConnection);
//以存在数据跳过
if(dt2.Rows.Count == 0 )
{
DataRow row2 = dt2.NewRow();
for(int one=0;one<listViewResult.Items[one].SubItems.Count;one++)
{
DataColumn column1 = dt1.Columns[listViewResult.Items[one].Text]; DataColumn column2 = dt2.Columns[listViewResult.Items[one].SubItems[one].Text];
row2[column2.ToString()] = row1[column1.ToString()] ;
list.Add(row2[column2.ToString()]);
//ID 表中总共几列判断是否插满
if(list.Count == ID)
{
dt2.Rows.Add(row2);
service.insertLocalhost(dt2);
}
}
}
}
}