读书人

求VS 2005的Windows应用程序中 可以支

发布时间: 2012-01-28 22:06:13 作者: rapoo

求VS 2005的Windows应用程序中 可以支持绑—ataReader的控件列表
求VS 2005的Windows应用程序中 可以支持绑—ataReader的控件列表

[解决办法]
DataGridView ?
无法直接绑定 DataReader, 需要通过 BindingSource 作为中介

string connStr = "server=.;database=Northwind;uid=sa ";
string sql = "SELECT * FROM Products ";
SqlConnection conn = new SqlConnection(connStr);
SqlCommand cmd = conn.CreateCommand();
cmd.CommandText = sql;
using (conn) {
conn.Open();
// requries BindingSource as a bridge to bind DataReader to DataGridView
BindingSource bindingSource = new BindingSource();
bindingSource.DataSource = cmd.ExecuteReader();
dataGridView1.DataSource = bindingSource;
}


事实上, net 中对
DataGridView.DataSource 可接受的数据源作出明确规定,需要实现
IList 接口,包括一维数组。
IListSource 接口,例如,DataTable 和 DataSet 类。
IBindingList 接口,例如,BindingList 类。
IBindingListView 接口,例如,BindingSource 类。
中的任意一个,

而 DataReader 没有实现上述任意接口(实现 IEnumerable 接口)

读书人网 >C#

热点推荐