我有许多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)`。
不确定如何继续。
答案 0 :(得分:0)
事实证明我可以用动态类型做到这一点。
dynamic list = dgv.DataSource;
var item = list[rowIndexFromMouseDown];
list.RemoveAt(rowIndexFromMouseDown);
if (rowIndexOfItemUnderMouseToDrop == -1)
list.Add(item);
else list.Insert(rowIndexOfItemUnderMouseToDrop, item);