有没有办法将 DropDownlist 数据源转换为数据表。
gridview 可以进行以下操作。但不适用于下拉列表。
DataTable dtSource = (DataTable)DropDownListCNPPRO.DataSource;
有没有办法将 DropDownlist 数据源转换为数据表。
gridview 可以进行以下操作。但不适用于下拉列表。
DataTable dtSource = (DataTable)DropDownListCNPPRO.DataSource;
该DataSource
属性只是内部变量的 getter 和 setter 方法。从问题内容来看,我猜测该属性是某种 IDataSource 类型,它是用DataTable
class 实现的。
但是,我的观点是,T
当且仅当:
T
是该属性的基类或接口。T
不是基类,而是继承人,并且它或它的后代之前已设置为该属性。像这样:interface IFoo { }
class Foo1 : IFoo { }
class Foo2 : IFoo { }
class Bar
{
internal IFoo Foobar { get; set; }
}
void main()
{
Bar bar = new Bar();
bar.Foobar = new Foo1();
IFoo instance1 = bar.Foobar; // Ok.
Foo1 instance2 = (Foo1)bar.Foobar; // Bad practice, but ok.
Foo2 instance3 = (Foo2)bar.Foobar; // Bad practive plus an exception.
Foo2 instance3 = (Foo2)(Foo1)bar.Foobar; // Still an exception.
Foo2 instance3 = (Foo2)(IFoo)(Foo1)bar.Foobar; // Still a fail.
}
这绝对取决于数据源是什么。如果你更换
DropDownListCNPPRO.DataSource
通过“真实”数据源(例如通用列表),编译器会告诉您是否可以转换。