cuclife.com > IT > C# > 0

c# datagridview绑定数据源

网络整理 - 06-27

datagridview使用datasource属性来设置需要绑定的数据源。

DataGridView 类支持数据绑定模型标准的 windows 窗体。 这意味着该数据源可以是任何类型的实现以下接口之一: IList 接口,包括一维数组。 IListSource 接口,如 DataTable 和 DataSet 类。 IBindingList 接口,如 BindingList<T> 类。 IBindingListView 接口,如 BindingSource 类。

如上所示,基本上,我们最常用绑定的数据源的,就是三个粗体字所示的:一维数组,datatable,dataset。

1.绑定一维数组作为数据源

string[] array1 = { "1", "2", "3", "4" }; //虽然可以绑定,但是dataGridView显示的却是数组的长度,而不是值,不太好使。 dataGridView1.DataSource = array1; //这样处理,dataGridView1显示的就是数组的值了。 dataGridView1.DataSource = (from s in array1 select new { s }).ToList();

2.绑定datatable作为数据源

string selectsql = "select * from tablename"; string connstr = "server=127.0.0.1;user=root;database=dbname;password=123456;charset=utf8;Allow Zero Datetime=True"; MySqlDataAdapter mda_sitemgr = new MySqlDataAdapter(selectsql, connstr); DataSet ds2 = new DataSet(); ds2.Clear(); mda_sitemgr.Fill(ds2, "s"); dataGridView1.DataSource = ds2.Tables["s"];

3.绑定dataset作为数据源

//使用DataAdapter填写的dataset做数据源好像没用,这样才行 string[] str = { "1", "2", "3" }; DataSet newDs = new DataSet(); DataTable newDt = new DataTable("str"); DataColumnCollection newCollection = newDt.Columns; newCollection.Add("str", typeof(string)); newDs.Tables.Add(newDt); DataRow newR0 = newDt.NewRow(); DataRow newR1 = newDt.NewRow(); DataRow newR2 = newDt.NewRow(); newR0["str"] = str[0]; newR1["str"] = str[1]; newR2["str"] = str[2]; newDt.Rows.Add(newR0); newDt.Rows.Add(newR1); newDt.Rows.Add(newR2); dataGridView1.DataSource = newDs; dataGridView1.DataMember = "str";