【发布时间】:2012-02-16 14:43:32
【问题描述】:
我有一个返回数据表的函数
DataTable dt = GetAllObject(ogj_id);
现在我想填写一个MultiCheckCombo,下面是我得到这个MultiCheckCombo的链接
上面链接中如何填充这个MultiCheckCombo的例子只有dataReader
OdbcConnection con = "get YOUR connection string";
con.Open();
OdbcCommand cmd = new OdbcCommand();
cmd.Connection = con;
cmd.CommandText = "select text,id from ...........";
OdbcDataReader dr = cmd.ExecuteReader();
MultiCheckCombo1.ClearAll();
dr.Read();
MultiCheckCombo1.AddItems(dr, "text", "id");
查询 - 现在我的问题听起来是这样的:如何将DataTable 转换为dataReader 来填充这个MultiCheckCombo?
【问题讨论】:
-
问题是它没有很好的界面。使用 arraylist 方法可能会更好,但这似乎不允许您分别指定 text 和 id 。我建议修改他们的代码以允许传入某种可枚举的值,然后将其用作数据源......但这并不能真正回答你的问题。 :)
-
没有将
DataTable转换为DataReader这样的事情。它们是不同的东西,在不同的情况下使用。看这里:msdn.microsoft.com/en-us/library/haa3afyz%28v=vs.90%29.aspx -
在幕后我认为.NET 使用
DataReader来填充DataTable。你基本上会从一个转换到另一个然后再转换回来:) -
@dana:.NET 可以做到这一点,但您可以很容易地拥有一个从未靠近 DataReader 的 DataTable。 anderson.pimentel:它们是不同的,但没有理由不能在具有 IDataReader 接口或类似接口的对象中公开 DataTable 中的信息。它只是不是很明智。 :)
标签: c# asp.net datatable datareader