如何在不知道对象类型的情况下在C#中移动DataBound DataGrid中的行

时间:2015-07-17 22:51:41

标签: c# datagridview datagrid

我有许多datgridgs,我希望能够为其重新排序行。它们都是SortableBindingList&lt;&gt; :列表&lt;&gt;类型但它们包含不同的对象。我尝试将DataGridView的DataSource转换为SortableBindingList<object>.RemoveAt()&amp; .Insert()但演员失败了。我尝试使用Type将对象类型传递给函数,但失败了。

Type objType;
...
var x = (SortableBindingList<objType>) dataGridView.DataSource;

但这也不起作用,nether确实'typeof(objType)`。

不确定如何继续。

1 个答案:

答案 0 :(得分:0)

事实证明我可以用动态类型做到这一点。

            dynamic list = dgv.DataSource;
            var item = list[rowIndexFromMouseDown];
            list.RemoveAt(rowIndexFromMouseDown);
            if (rowIndexOfItemUnderMouseToDrop == -1)
                list.Add(item);
            else list.Insert(rowIndexOfItemUnderMouseToDrop, item);