小妹遇到一个超难的DataTable合并问题!
我把现有的数据存放到两个DataTable表里(如下),
表名:CarTable
Num CarID GroupID CarNum CarMotorman
1 1 1 京A3352 张三
2 3 1 京B4321 李四
3 4 3 京C7680 王五
4 5 1 京F3360 李六
表名: GroupTable
Num GroupID GroupName
1 1 车辆一组
2 3 车辆三组
我想把这些表里的数据按照车辆组来分类,在存到另外一个DataTable里。
我想格式如下:
表名:NewTable
Num CarID GroupID GroupName CarNum CarMotorman
1 1 1 车辆一组 京A3352 张三
2 3 1 车辆一组 京B4321 李四
3 4 3 车辆三组 京C7680 王五
4 5 1 车辆一组 京F3360 李六
如何做!请各位师哥明示。这个问题太折磨我了!
小妹在这里说一下这里不是数据库题,是用C#写的程序题!
我是一点思路都没有了,这怎么合并啊!
谢谢各位师哥了!
------解决方案--------------------//--例子
//--关键是给DataTable添加键值PrimaryKey.
//--在此例中 "ID "应是关键字了.你的就是GroupID
DataTable dt1 = new DataTable();
dt1.Columns.Add( "ID ", typeof(int));
dt1.Columns.Add( "Name ", typeof(string));
dt1.PrimaryKey = new DataColumn[] { dt1.Columns[0]};
dt1.Rows.Add(1, "Age ");
dt1.Rows.Add(2, "Apple ");
dt1.Rows.Add(3, "Orange ");
DataTable dt2 = new DataTable();
dt2.Columns.Add( "ID ", typeof(int));
dt2.Columns.Add( "Price ", typeof(decimal));
dt2.PrimaryKey = new DataColumn[] { dt2.Columns[0] };
dt2.Rows.Add(1, 10);
dt2.Rows.Add(2, 6);
dt2.Rows.Add(3, 7);
DataTable dt3 = dt1.Copy();
dt3.Merge(dt2);
------解决方案--------------------下面这是我做的项目的一段代码。和你说的差不多,你自己在看看,呵呵,希望能帮上你
for (int jj = 0; jj < this._da.Rows.Count; jj++)
{
//和班组里原有的人员进行比较,如果存在则不让增加,以免重复
if (gvBranchPersonnel.Rows[index].Cells[0].Value.ToString() == this._da.Rows[jj][0].ToString())
{
//如果有相同的则跳出这个循环