从数据库中取出表DataTable后绑定到DataGridView,对其中的几行手动交换顺序后,再用SqlDataAdapter到数据库,数据库中行的顺序要和DataGridView显示的顺序一致
我的换行的代码如下,思路就是交换DataTable的行的ItemArray,但是出现了一个问题,只要是对DataRow的ItemArray重新赋值,那么这个DataRow就会被视为新增的行,重新添加,导致出现主键重复的问题,我把这些行用事务先删除,再用SqlDataAdapter更新的话又出现了违反并发性的异常,不知大家有什么好的解决方法不??foreach (DataGridViewRow r in dataGridView1.SelectedRows)
            {                int Index = Table.Rows.IndexOf((r.DataBoundItem as DataRowView).Row);
                int TargetIndex = 0;
                if (Index > 0)   //如果不是第一行
                {
                    TargetIndex = Index - 1;  //要移到那一行的索引
                    object[] OrginalData = Table.Rows[TargetIndex].ItemArray;
                    Table.Rows[TargetIndex].ItemArray = Table.Rows[Index].ItemArray;
                    Table.Rows[Index].ItemArray = OrginalData;
                }
            }