Dev GridView 繫結List、BindingList 、BindingSource
作者:jiankunking 出處:http://blog.csdn.net/jiankunking
今天聽到同事處理資料結構的時候特意處理為了 BindingList<T>,據說可以直接繫結到Dev GridView上,於是測試了一下:
1、在Dev GridView中新增三列,三列的FieldName分別對應與FormItem類對應:ItemKey、Name、Enable
具體類程式碼如下:
public class FormItem
{
/// <summary>
/// 標識
/// </summary>
public string ItemKey
{
get;
set;
}
/// <summary>
/// 名稱
/// </summary>
public string Name
{
get;
set;
}
/// <summary>
/// 是否可用
/// </summary>
public bool Enable
{
get;
set;
}
}
3、在Form窗體上增加一個Buntton按鈕事件,並新增Click事件,在Click事件中填充List<T>、BindingList <T>、BindingSource,並進行繫結測試: BindingList<FormItem> itemsBindingList = new BindingList<FormItem>();
List<FormItem> itemsList = new List<FormItem>();
BindingSource bs = new BindingSource();
private void simpleButton1_Click(object sender, EventArgs e)
{
for (int i = 0; i < 10; i++)
{
FormItem fi = new FormItem();
fi.ItemKey = i.ToString();
fi.Name = Guid.NewGuid().ToString();
if (i % 2 == 0)
{
fi.Enable = true;
}
else
{
fi.Enable = false;
}
itemsBindingList.Add(fi);
itemsList.Add(fi);
bs.Add(fi);
}
//this.gridControl1.DataSource = itemsBindingList;
//this.gridControl1.DataSource = itemsList;
this.gridControl1.DataSource = bs;
}
4、通過測試發現List<T>、BindingList <T>、BindingSource均可以繫結到Dev GridView上 5、用過Dev GridView的朋友應該知道,給Dev GridView繫結DataTable後,在GridView上的修改會同步到到DataTable上,那麼問題來了Dev GridView 繫結List<T>、BindingList <T>、BindingSource會不會同步呢?
於是新增GridView的CellValueChanged事件,在該事件中監視變數itemsBindingList、itemsList、bs,可以發現修改也是同步的。
小注:
BindingSource第一次用,有不對的地方,還請指教!
demo下載:點選開啟連結
資料來源可以是實現下列介面之一的任何型別:
IList 介面,包括一維陣列。List<T>等!
IListSource 介面,例如,DataTable 和 DataSet 類。
IBindingList 介面,例如,BindingList 類。
IBindingListView 介面,例如,BindingSource 類。
相關文章
- List作為GridView資料來源時,繫結模板列的例子View
- 改變gridview繫結列值的方法View
- GridView繫結欄位格式DataFormatString的使用ViewORM
- Dev GridView RowCellClick事件與MouseDown事件devView事件
- dev 根據datatable動態生成gridviewdevView
- GridView自定義列資料繫結,和自定義頒功能View
- 記錄DEV gridview獲取行列資料方法devView
- GridView繫結資料與隱藏指定控制元件(模板列)View控制元件
- GridView中使用三元運算子進行動態繫結View
- 手動繫結SQLDataSource到GridView後分頁的問題(轉)SQLLDAView
- [20180930]in list與繫結變數.txt變數
- Gridview繫結資料庫的欄位,根據條件欄位顏色改變View資料庫
- [20180930]in list與繫結變數個數.txt變數
- [20210120]in list與繫結變數個數.txt變數
- Hql總結 查詢結果動態組裝成List(map),List(bean),List(list),List(set)等格式(轉)Bean
- 理解靜態繫結與動態繫結
- this 繫結解析
- 繫結事件事件
- 事件繫結事件
- SSL證書繫結域名還是繫結IP?
- C++ — 靜態繫結與動態繫結C++
- dataGridView繫結Dictionary |Dictionary繫結到DataGridViewView
- vue 雙向繫結(v-model 雙向繫結、.sync 雙向繫結、.sync 傳物件)Vue物件
- WinForm&&DEV知識小結ORMdev
- dev treelist 常用用法小結dev
- C++的動態繫結和靜態繫結C++
- IOC容器的繫結解析過程(繫結單例)單例
- java繼承-靜態繫結和動態繫結Java繼承
- Laravel 路由的隱式繫結和顯式繫結Laravel路由
- ASP.NET MVC模型繫結——繫結部分欄位ASP.NETMVC模型
- java中的靜態繫結與動態繫結Java
- JavaScript 事件繫結JavaScript事件
- 資料繫結
- js on繫結事件JS事件
- 繫結變數變數
- jQuery繫結事件jQuery事件
- STL:list用法總結
- 集合框架小結-List框架