C# 中 datagridview 绑定BindingList类型和更新

C# 中的datagridview是一个非常有用且强大的控件,可以用来绑定数据库、绑定LIST类型的变量等等。

这里我们说一说绑定List类型并实时更新datagridview的情况。实时更新,指的是在我操作BindingList时(删除/Add)等操作的时候,datagridview也会发生相应变化。

想要达到此种目的,需要达成以下几个条件:

1.datagridview的datasource被指定为BindingList类型

2.在datagridview的编辑列中,将列里面的dataproperty指定为BindingList下的某一个属性

3.这个属性(成员变量)还必须是通过get/set这种方式来获取的,不能是直接得到的public类型的变量。

代码示例:

声明bindinglist:

BindingList<aHost> IpList = new BindingList<aHost>();

ahost类:

    class aHost
    {
        string _Ip = "";
        string _isAlive = "No";
        public string sPorts;

        public string Ip
        {
            get {return _Ip;}
            set { _Ip = value; }
        }

        public string isAlive
        {
            get { return _isAlive; }
            set { _isAlive = value; }
        }
    }

建立绑定关系:

        public Form1()
        {
            InitializeComponent();
            IpList.Add(new Model.aHost("192.168.1.1","Nope"));
            dgHostList.AutoGenerateColumns = false;
            dgHostList.DataSource = IpList;
        }

设置datapropertyname就不演示了,很简单。

效果:

时间: 2024-10-08 00:22:43

C# 中 datagridview 绑定BindingList类型和更新的相关文章

winfrom中DataGridView绑定数据控件中DataGridViewCheckBoxColumn怎么选中

for (int i = 0; i < this.dataGridView1.Rows.Count; i++) { this.dataGridView1.Rows[i].Cells["CheckBoxCulums"].Value = this.checkBox1.Checked; } winfrom中DataGridView绑定数据控件中DataGridViewCheckBoxColumn怎么选中,布布扣,bubuko.com

C# 中DataGridView 绑定List&lt;T&gt;做数据源的操作问题

若想将 List<T>作为DataGridView的数据源,然后后续还想继续操作的话,需要将List<T>赋值给BindingList对象, 然后直接将BindingList赋值给DataGridView.DataSource, 如此直接操作BindingList对象时,DataGridView的结果会动态随之更新. 1,绑定 List<UserClass> listUserClass = new List<UserClass>();BindingList

DataGridView 绑定List&lt;&gt;数据的更新

使用BindingSource做为中间数据源,使用 bindingSource1.DataSource = productOrderList;dataGridView1.DataSource = bindingSource1; 当增加,修改,删除List数据后,使用bindingSource1.ResetBindings(true);更新列表如果数据源实例变化则需要重新绑定 bindingSource1.DataSource = productOrderList;dataGridView1.Da

C#中数据源绑定DataSource以及相关控件(DataGridView)的使用总结

我们在编程过程中,会涉及到表格数据的显示,存储等,就可能涉及到DataGridView,DataSource, DataTable等概念. 下面我就我自己模糊的一些知识点串讲以下: 1)首先我要讲的是一些控件: Control: 控件基类,有一个DataBindings对象,它是一个ControlBindingCollection类,这个类继承与BindingsCollection,里面有一个Binding的列表对象,其中Binding对象时一个记录了属性名,数据源,数据成员等的对象.还有个Bi

Winfrom中ListBox绑定List数据源更新问题

Winfrom中ListBox绑定List数据源更新问题 摘自:http://xiaocai.info/2010/09/winform-listbox-datasource-update/ Winfrom中ListBox绑定List数据源,第一次可以成功,但后面List更新以后,ListBox并没有更新. 如果 ListBox的数据源 是 DataTable 是可以自动更新的,但若是 List<T> 时对数据的修改界面不会更新,使用 BindingSource 绑定就可以了.private v

DataGridView 绑定 List

DataGridView 绑定 List<T> 不会自动更新 正确方式是将  List<T> 设置为 BindingList<T> 即可 (双向绑定) DataGridView 绑定 List,布布扣,bubuko.com

C#中DataGridView控件使用大全

DataGridView 动态添加新行: DataGridView控件在实际应用中非常实用,特别需要表格显示数据时.可以静态绑定数据源,这样就自动为DataGridView控件添加相应的行.假如需要动态为DataGridView控件添加新行,方法有很多种,下面简单介绍如何为DataGridView控件动态添加新行的两种方法: 方法一: int index=this.dataGridView1.Rows.Add(); this.dataGridView1.Rows[index].Cells[0].

[WinForm] DataGridView绑定DataTable,ComboBox列绑定Dictionary

一  需求介绍 一般像枚举类型的数据,我们在数据库里存储着诸如(1.2.3.4-)或者("001"."002"."003"-)此类,但是界面上我们想要显示的是具体的文本内容,以便用户理解使用.所以在从数据库中加载出来的数据DataTable绑定到DataGridView上时,就需要其中一些枚举列采用下拉框,并绑定对应的枚举数据源. 二  具体实现 首先,如果 DataGridView 的 AutoGenerateColumns 为 true 时,

Winform中DataGridView网格添加ComBoBox

在工作中遇到需要在DataGridView网格中添加ComBoBox的需求.解决后记录 1 在窗体类中声明一个全局的变量ComBoBox,并在Form的Load事件中设置号ComBoBox的下拉选项 2 在DataGridView绑定完数据源之后,将ComBoBox添加到DataGridView中 3 编写DataGridView的CurrentCellChanged事件和ComBoBox的SelectedIndexChanged事件 完整代码如下: public partial class F