怎么在一个DataTable表格中随机删除一行数据
如何在一个DataTable表格中随机删除一行数据
C# 一个表格中共有N行数据,如何在一个表格中随机删除一行数据,然后将删除的这行数据再随机插入表格中。。说白了,我就是想如何将这行数据随机将其在表格中的位置更换。
------解决思路----------------------
删除是remove
插入是insertAt
------解决思路----------------------
因为我看到你说把随机的一行 扔到随机的位置..我个人理解的话 就是把表格打乱了 不知道我理解的对不对..
当然我这是全部,而你只要一个 是吗?
------解决思路----------------------
DataRow dr=dtable.NewRow();
for(int i=0;i<dtable.Columns.Count;i++)
{
dr[i]=dtable.Rows[row1][i];
}
dtable.Rows.Remove(row1);
dtable.Rows.InsertAt(row2, dr);
------解决思路----------------------
row1,row2是int类型
应该用dtable.Rows.RemoveAt(row1);
C# 一个表格中共有N行数据,如何在一个表格中随机删除一行数据,然后将删除的这行数据再随机插入表格中。。说白了,我就是想如何将这行数据随机将其在表格中的位置更换。
------解决思路----------------------
删除是remove
插入是insertAt
------解决思路----------------------
DataTable dt = new DataTable("");
dt.Columns.Add("id", typeof(int));
dt.Columns.Add("name", typeof(string));
dt.Rows.Add(1, "小明111");
dt.Rows.Add(2, "小明222");
dt.Rows.Add(3, "小明333");
dt.Rows.Add(4, "小明444");
for (int i = 0; i < dt.Rows.Count; i++)
{
Console.WriteLine(dt.Rows[i][0].ToString() +"__"+ dt.Rows[i][1].ToString());
}
DataTable newDt = dt.AsEnumerable().AsParallel().OrderBy(d => Guid.NewGuid()).CopyToDataTable();
for (int i = 0; i < newDt.Rows.Count; i++)
{
Console.WriteLine(newDt.Rows[i][0].ToString() + "__" + newDt.Rows[i][1].ToString());
}
因为我看到你说把随机的一行 扔到随机的位置..我个人理解的话 就是把表格打乱了 不知道我理解的对不对..
当然我这是全部,而你只要一个 是吗?
------解决思路----------------------
DataRow dr=dtable.NewRow();
for(int i=0;i<dtable.Columns.Count;i++)
{
dr[i]=dtable.Rows[row1][i];
}
dtable.Rows.Remove(row1);
dtable.Rows.InsertAt(row2, dr);
------解决思路----------------------
row1,row2是int类型
应该用dtable.Rows.RemoveAt(row1);