datagridview绑定数据源的几种常见方式
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
datagridview绑定数据源的几种常见方式datagridview绑定数据源的几种常见方式
//////////////开始以前,先认识一下WinForm控件数据绑定的两种形式,简单数据绑定和复杂数据绑定。
//////////////1)简单数据绑定
//////////////////using (SqlConnection conn = new SqlConnection(Config urationManager.ConnectionStrings["connStr"].ToString()))
//////////////////{
////////////////// SqlDataAdapter sda = new SqlDataAdapter("Select * Fr om T_Class Where F_Type='Product' order by F_RootID,F_Orders", conn);
////////////////// DataSet Ds = new DataSet();
////////////////// sda.Fill(Ds, "T_Class");
////////////////// //使用DataSet绑定时,必须同时指明DateMember
////////////////// //this.dataGridView1.DataSource = Ds;
////////////////// //this.dataGridView1.DataMember = "T_Class";
////////////////// //也可以直接用DataTable来绑定
////////////////// this.dataGridView1.DataSource = Ds.Tables["T_Class"]; //////////////////}
//////////////简单的数据绑定是将用户控件的某一个属性绑定至某一个类型实例上的某一属性。采用如下形式进行绑定:引用控件.DataBin dings.Add("控件属性", 实例对象, "属性名", true);
//////////////2)复杂数据绑定
//////////////复杂的数据绑定是将一个以列表为基础的用户控件(例如:ComboBox、ListBox、ErrorProvider、DataGridView等控件)绑定至一个数据对象的列表。
//////////////基本上,Windows Forms的复杂数据绑定允许绑定至支持I List接口的数据列表。此外,如果想通过一个BindingSource组件进行绑定,还可以绑定至一个支持IEnumerable接口的数据列表。
//////////////对于复杂数据绑定,常用的数据源类型有(代码以DataGri dView作为示例控件):
using System;
using System.Collections.Generic;
using ponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Collections;
namespace DataGridViewBindingData
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
//this.dataGridView1.DataSource = DataBindingByList1();
//this.dataGridView1.DataSource = DataBindingByList2();
//this.dataGridView1.DataSource = DataBindingByDataTable(); this.dataGridView1.DataSource = DataBindingByBindingSource();
}
///
/// IList接口(包括一维数组,ArrayList等)
///
///
private ArrayList DataBindingByList1()
{
ArrayList Al = new ArrayList();
Al.Add(new PersonInfo("a","-1"));
Al.Add(new PersonInfo("b","-2"));
Al.Add(new PersonInfo("c","-3"));
return Al;
}
///
/// IList接口(包括一维数组,ArrayList等)
///
///
private ArrayList DataBindingByList2()
{
ArrayList list = new ArrayList();
for (int i = 0; i < 10; i++)
{
list.Add(new DictionaryEntry(i.ToString(),i.ToString()+"_List"));