




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
datagridview绑定数据源的几种常见方式datagridview绑定数据源的几种常见方式/开始以前,先认识一下WinForm控件数据绑定的两种形式,简单数据绑定和复杂数据绑定。/1)简单数据绑定/using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStringsconnStr.ToString()/ SqlDataAdapter sda = new SqlDataAdapter(Select * From 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.TablesT_Class;/简单的数据绑定是将用户控件的某一个属性绑定至某一个类型实例上的某一属性。采用如下形式进行绑定:引用控件.DataBindings.Add(控件属性, 实例对象, 属性名, true);/2)复杂数据绑定/复杂的数据绑定是将一个以列表为基础的用户控件(例如:ComboBox、ListBox、ErrorProvider、DataGridView等控件)绑定至一个数据对象的列表。/基本上,Windows Forms的复杂数据绑定允许绑定至支持IList接口的数据列表。此外,如果想通过一个BindingSource组件进行绑定,还可以绑定至一个支持IEnumerable接口的数据列表。/对于复杂数据绑定,常用的数据源类型有(代码以DataGridView作为示例控件):using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.Collections;namespace DataGridViewBindingDatapublic partial class Form1 : Formpublic 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);return list;/ / IListSource接口(DataTable、DataSet等)/ / private DataTable DataBindingByDataTable()DataTable dt = new DataTable();DataColumn dc1 = new DataColumn(Name);DataColumn dc2 = new DataColumn(Value);dt.Columns.Add(dc1);dt.Columns.Add(dc2);for (int i = 1; i = 10; i+)DataRow dr = dt.NewRow();dr0 = i;dr1 = i.ToString() + _DataTable;dt.Rows.Add(dr);return dt;/ / IBindingListView接口(如BindingSource类)/ / private BindingSource DataBindingByBindingSource()Dictionary dic = new Dictionary();for (int i = 0; i 10; i+)dic.Add(i.ToString(),i.ToString()+_Dictionary);return new BindingSource(dic,null);/上面代码中BindingSource的Datasource是一个结构类型DictionaryEntry,同样的DictionaryEntry并不能直接赋值给Combobox的DataSource,但通过BindingSource仍然可以间接实现。/ 这是因为:/BindingSource可以作为一个强类型的数据源。其数据源的类型通过以下机制之一固定:/ 使用 Add 方法可将某项添加到 BindingSource 组件中。/
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 石家庄市人民医院青年教师培养考核
- 2025湖南湘潭湘乡市教育局公开招聘公益性岗位人员2人考前自测高频考点模拟试题完整答案详解
- 沧州市人民医院医患沟通记录与知情同意书质量评审试题
- 天津市人民医院推拿新技术应用考核
- 2025江苏徐州医科大学招聘专职辅导员4人考前自测高频考点模拟试题及答案详解(名校卷)
- 天津市人民医院水疗技术准入考核
- 秦皇岛市中医院儿科患者放射治疗安抚与固定技术考核
- 张家口市中医院董氏奇穴技术考核
- 2025湖北荆州市石首市面向城市社区党组织书记专项招聘事业岗位人员5人考前自测高频考点模拟试题及完整答案详解一套
- 2025湖南张家界市桑植县卫生健康局机关所属事业单位公开选调工作人员3人模拟试卷含答案详解
- (2024版)小学六年级数学考试命题趋势分析
- 脑肿瘤的症状和早期诊断方法
- 中级注册安全工程师-其他安全历年真题
- 小学生自己修改作文能力的培养研究课题结题报告.文档
- CREO基础培训教程
- 食品保质期检测记录表
- 诗化小说示范课
- (17)-第三节 反抗外国武装侵略的斗争
- 04质量奖(现场)评审报告
- 《罗织经》全文及翻译
- 《中药商品学》考试复习题库(含答案)
评论
0/150
提交评论