如何在不知道对象类型的情况下在c#中移动数据网格中的行

本文关键字:移动 数据 网格 数据网 情况下 不知道 对象 类型 | 更新日期: 2023-09-27 18:03:13

我有许多datgridgs,我希望能够重新排序行。它们都是SortableBindingList<>: List<>类型,但它们包含不同的对象。我试着将DataGridView的数据源转换为SortableBindingList<object>.RemoveAt();.Insert()但铸型失败。我试图使用Type将对象类型传递到函数中,但失败了。

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

但这也不起作用,'typeof(objType) '也不起作用。

不知道如何继续。

如何在不知道对象类型的情况下在c#中移动数据网格中的行

我可以用动态类型做到这一点。

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