怎么把两个DataTable里的数据揉合在一个DataTable里,并同时并把原来两个表里的数据在新表里做一个随机排序?
解决方案 »
- 数字判断
- 一个封锁操作被对WSACancelBlockingCall的调用中断(在线)
- dbf文件 链接字符串
- .net下提供的mailMessage类和 CDO for Exchange 这个玩意有什么区别?还有就是怎么读取某一用户的邮件列表,请高手指点.
- sql 建表的问题 如何让一个表中的2个列都有唯一性啊!
- 如何判断一个进程在管理员用户下运行,还是在PowerUser用户下运行
- C# WinForm 透明背景图片毛边问题
- 动态获取网页上面的所有数据(C#)
- 怎么快速的读取5m以上的txt文件?内存映射吗?像ultraedit
- 动态添加view问题,请高手看看,菜单标签可以增加,view却不行
- 请问在c#中如何实现writeblanklines?
- 如何对窗体控件进行循环处理!(简单送分)
你把一个DataTable中的DataRow一个一个的插到另外一个里面,
随机排序做不到,你在用的时候可以按照自己的需要来排序。
DataSet Ds1 = new DataSet();
DataTable Dt = new DataTable();
for (int i = 0; i < 3; i++)
{
DataRow Dr = Ds.Tables[1].Rows[i];
Dt.Rows.Add(Dr);
}
Ds1.Tables.Add(Dt);说这行已属于另一个数据表了: Dt.Rows.Add(Dr);
DataTable Dt = new DataTable();
for (int i = 0; i < 3; i++)
{
DataRow Dr = Ds.Tables[1].Rows[i];
Dt.Rows.Add(Dr);
}
Ds1.Tables.Add(Dt);说这行已属于另一个数据表了: Dt.Rows.Add(Dr);你这样写从程序的角度来说就没有错,但程序肯定是不能运行的,因为你的DataSet为NULL,你使用Table[1]取数据时就会出错,你填充DataSet后就可以了
问题是这样也有错:
DataSet Ds1 = new DataSet();
DataTable Dt = new DataTable();
for (int i = 0; i < 3; i++)
{
DataRow Dr = Ds.Tables[1].Rows[i];
Dt.Rows.Add(Dr);
}
// Ds1.Tables.Add(Dt);
// DataSetList2.DS = Ds1;
// DataSetList2.DataBind();
出错的是: Dt.Rows.Add(Dr);
和Ds没有关系。
该行已经属于另一个表。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。异常详细信息: System.ArgumentException: 该行已经属于另一个表。源错误:行 33: {
行 34: DataRow Dr = Ds.Tables[1].Rows[i];
行 35: Dt.Rows.Add(Dr);
行 36: }
行 37: // Ds1.Tables.Add(Dt);
源文件: d:\Test.aspx.cs 行: 35
也可以用Rows的CopyTo方法,再添加到DataTable里