Form DataGridView绑定BindingSource的几种方式
本文链接:https://blog.csdn.net/qq_15138169/article/details/83341076
在WinForm的开发中,ListView和DataGridView应用的场景都比较,初学的时候绑定数据都是用最简单的一种方式去实现
- private void NormalAdd()
- {
- dataGridView1.Rows.Clear();
- for (int i = 0; i < 10; ++i)
- {
- int index = dataGridView1.Rows.Add();
- dataGridView1.Rows[index].Cells[0].Value = i+"elem1";
- dataGridView1.Rows[index].Cells[1].Value = i+"elem2";
- dataGridView1.Rows[index].Cells[2].Value = i+"elem3";
dataGridView1.Rows[index].Cells[2].Value = i+"elem4";
上面的方法其实是最直观的,但是微软还提供其他几种比较优雅一些的方式去绑定数据,就是通过BindingSource来实现,BindingSource看名字就知道干啥用的了。
public List<ItemBean> list = new List<ItemBean>();
private void dataList()
{
for (int i = 0; i < 10; ++i)
{
ItemBean item = new ItemBean();
item.postion = i.ToString();
item.item1 = "Listitem1-" + i;
item.item2 = "Listitem2-" + i;
item.item3 = "Listitem3-" + i;
list.Add(item);
}
bindingSource1.DataSource = list;
//DataGridView的列name和对象成员的绑定
dataGridView1.Columns["Column1"].DataPropertyName = "postion";
dataGridView1.Columns["Column2"].DataPropertyName = "item1";
dataGridView1.Columns["Column3"].DataPropertyName = "item2";
dataGridView1.Columns["Column4"].DataPropertyName = "item3";
}
public class ItemBean
{
public string postion { get; set; }
public string item1 { get; set; }
public string item2 { get; set; }
public string item3 { get; set; }
}
这种是List数据源方式实现绑定
public DataTable dt = new DataTable("ITEMBEAN");
private void dataTable()
{
dt.Columns.Add("POS", typeof(string));
dt.Columns.Add("ITEM1", typeof(string));
dt.Columns.Add("ITEM2", typeof(string));
dt.Columns.Add("ITEM3", typeof(string));
for (int i = 0; i < 10; ++i)
{
DataRow dr = dt.NewRow();
dr[0] = i.ToString();
dr[1] = i.ToString() + "_Table单元1";
dr[2] = i.ToString() + "_Table单元2";
dr[3] = i.ToString() + "_Table单元3";
dt.Rows.Add(dr);
}
bindingSource1.DataSource = dt;
dataGridView1.Columns["Column1"].DataPropertyName = "POS";
dataGridView1.Columns["Column2"].DataPropertyName = "ITEM1";
dataGridView1.Columns["Column3"].DataPropertyName = "ITEM2";
dataGridView1.Columns["Column4"].DataPropertyName = "ITEM3";
}
这个的是DataTable的方式,其他的还有几种,大家可以自己去试一试,这两种的在实际项目中应用场景应该比较多一些。
Form DataGridView绑定BindingSource的几种方式的更多相关文章
- DataGridView绑定数据源的几种方式
使用DataGridView控件,可以显示和编辑来自多种不同类型的数据源的表格数据. 将数据绑定到DataGridView控件非常简单和直观,在大多数情况下,只需设置DataSource属性即可.在绑 ...
- 【转】DataGridView绑定数据源的几种方式
第一种:DataSet ds=new DataSet (); this.dataGridView1.DataSource=ds.Table[0]; 第二种:DataTable dt=new DataT ...
- C# DataGridView绑定数据源的几种常见方式
开始以前,先认识一下WinForm控件数据绑定的两种形式,简单数据绑定和复杂数据绑定. 1. 简单的数据绑定 例1 using (SqlConnection conn = new SqlConnect ...
- Android_安卓为按钮控件绑定事件的五种方式
一.写在最前面 本次,来介绍一下安卓中为控件--Button绑定事件的五种方式. 二.具体的实现 第一种:直接绑定在Button控件上: 步骤1.在Button控件上设置android:onClick ...
- Form 表单提交的几种方式
简单的总结一下form表单提交的几种方式:1.最简单的方式 就用form的submit提交方式,这种提交方式是不需要回调函数的 这种方式最近到一个form提供action路径后台接受就可以< ...
- 为input标签绑定事件的几种方式
为input标签绑定事件的几种方式 1.JavaScript原生态的方式,直接复制下面的代码就会有相应的效果 <!DOCTYPE html><html><head> ...
- angular学习笔记(三)-视图绑定数据的两种方式
绑定数据有两种方式: <!DOCTYPE html> <html ng-app> <head> <title>2.2显示文本</title> ...
- JS与JQ绑定事件的几种方式.
JS与JQ绑定事件的几种方式 JS绑定事件的三种方式 直接在DOM中进行绑定 <button onclick="alert('success')" type="bu ...
- jQuery绑定事件的四种方式:bind、live、delegate、on
1.jQuery操作DOM元素的绑定事件的四种方式 jQuery中提供了四种事件监听方式,分别是bind.live.delegate.on,对应的解除监听的函数分别是unbind.die.undele ...
随机推荐
- liunx 查找locate
使用 安装 yum install mlocate 更新数据库 updatedb 查找my.cnf文件 locate my.cnf
- springboot整合PageHelper
1.在pom文件中引入Pagehelper分页插件 <!-- 分页插件 --> <dependency> <groupId>com.github.pagehelpe ...
- 微信小程序——自定义菜单切换栏tabbar组件
效果图: wxml代码: <view class="top_tabbar" > <block wx:for="{{itemName}}" wx ...
- Redis 数据总结(1 数据导入)
理论基础部分:http://www.redis.cn/topics/mass-insert.html 几百上千万的数据建议使用pipe来完成导入. 1.windows 下数据导入命令: type ou ...
- android 根据坐标返回触摸到的View
//根据坐标返回触摸到的Viewprivate View getTouchTarget(View rootView, int x, int y) { View targetView = null; / ...
- SpringBoot整合WEB开发--(六)CROS支持
简介: CROS(Cross-Origin Resource Sharing)是由W3C制定的一种跨域资源共享技术标准,其目的为了解决前端的跨域请求,在JavaEE开发中,最常见的前端跨域请求解决方案 ...
- HTML-表格-基础表格
主要内容: HTML表格 基本语法和结构: 案例: border用在table标签里面,表示边框的. th标签是加粗,width是宽度,表格宽度用在table里面.: caption用在table ...
- JS高级---浅拷贝
浅拷贝 拷贝就是复制, 就相当于把一个对象中的所有的内容, 复制一份给另一个对象, 直接复制, 或者说, 就是把一个对象的地址给了另一个对象, 他们指向相同, 两个对象之间有共同的属性或者方法, ...
- 模块一:shell 脚本基础
一.shell脚本介绍 (一)脚本案例及介绍: #!/bin/bash LOG_DIR=/var/log ROOT_UID=0 if ["$UID -ne "$ROOT_UID&q ...
- mysql行级锁 select for update
mysql行级锁 select for update 1.属于行级锁 2.where条件后需要写出明确的索引条件(如果有多个条件,可以建立联合索引) 3.如果其所在的事务提交或者回滚后,或者更新该条数 ...