前言
各位小伙伴,大家周末愉快。
最近這段時間比較忙,所以文章更新節(jié)奏有點慢,請見諒!
今天跟大家分享的主題是基于自定義特性實現(xiàn)DataGridView全自動生成。
實現(xiàn)過程
這里是在上一篇文章《給你的屬性加個說明》的基礎(chǔ)上,對其做進一步應用。
給你的屬性加個說明
首先創(chuàng)建一個窗體應用,在窗體里拖放一個DataGridView控件和一個生成數(shù)據(jù)的按鈕,將DataGridView控件的啟用添加、啟用編輯、啟用刪除的勾選都去掉。
后臺編寫一個初始化DataGridView的方法,代碼如下。
private void InitialDataGridView()
{
Type t = typeof(Points);
foreach (PropertyInfo pi in t.GetProperties())
{
//獲取屬性名稱
string propertyName = pi.Name;
//獲取顯示文本
string displayName = pi.GetCustomAttribute
然后在構(gòu)造方法里初始化調(diào)用一下:
public FrmMain()
{
InitializeComponent();
this.dgvMain.AutoGenerateColumns = false;
InitialDataGridView();
}
接著在生成數(shù)據(jù)按鈕添加一些數(shù)據(jù),代碼如下:
private void btn_Generate_Click(object sender, EventArgs e)
{
List
點擊生成數(shù)據(jù)按鈕,效果如下:
這樣就實現(xiàn)了動態(tài)生成DataGridView控件,后續(xù)如果需要更改名稱或者增加列,直接去實體類修改即可,不需要再去修改DataGridView了。
這種方式非常適用于列數(shù)非常多且不確定因素非常多的情況,比如配方應用等。
-
自定義
+關(guān)注
關(guān)注
0文章
12瀏覽量
8694 -
自動生成
+關(guān)注
關(guān)注
0文章
9瀏覽量
7342
發(fā)布評論請先 登錄
相關(guān)推薦
評論