日期:2014-05-19  浏览次数:20855 次

请问如何实现记录的上下移动?
如DataGridView中有10条记录,绑定到bindingsource中

当我想把第7条记录往上移动一下,怎么做?
也就是说,第7条和第6条位置互换...


数据源中一字段   CN_SQE   用于来记录序号。。。

请高手指点

------解决方案--------------------
我这边没有问题,不知道你怎么做的
代码如下,你可以自己把代码拷过去测试

//绑定
BindingSource sd = new BindingSource();
System.Data.DataTable table = new System.Data.DataTable();
table.Columns.Add( "test1 ");
table.Columns.Add( "test2 ");
for (int i = 0; i < 10; i++)
{
DataRow row = table.NewRow();
row[ "test1 "] = "test1 " + i.ToString();
row[ "test2 "] = "test2 " + i.ToString();
table.Rows.Add(row);
}
sd.DataSource = table;
this.dataGridView1.DataSource = sd;

//调整
System.Data.DataTable table = ((BindingSource)this.dataGridView1.DataSource).DataSource as System.Data.DataTable;
object[] obj1 = table.Rows[6].ItemArray;
object[] obj2 = table.Rows[7].ItemArray;
table.Rows[7].ItemArray = obj1;
table.Rows[6].ItemArray = obj2;