Theme NexT works best with JavaScript enabled

ShunNien's Blog

不積跬步,無以致千里;不積小流,無以成江海。

0%

DataGridView 在 Winform 的簡單操作(1)

前言

有一位朋友最近接了一個 Case,這 Case 後來變成 WinForm 的系統,他對於 winform 不熟悉,跑來找我一起討論,我發覺我也很久沒碰了XD,覺得順便整理一下好了。

正文

我準備把DataGridView的操作當成一個系列來介紹;我會把範例程式丟到Github上,然後此系列應該都是同一個Repo,請大家觀看的時候配合 commit comment 。

  1. 範例資料

    此處採用DataTable(因為朋友那邊是用DataTable,所以就不使用 Object 了),關於資料處理的部分就不贅述了

    要載入的資料
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    private DataTable sampleData() {
    using (DataTable table = new DataTable()) {
    // Add columns.
    table.Columns.Add("Name", typeof(string));
    table.Columns.Add("Gender", typeof(string));
    table.Columns.Add("Married ", typeof(int));
    table.Columns.Add("Birthday", typeof(DateTime));

    // Add rows.
    table.Rows.Add("Allen", "Male", 0, DateTime.Now);
    table.Rows.Add("Kevin", "Male", 1, DateTime.Now);
    table.Rows.Add("Dean", "Male", 0, DateTime.Today);
    table.Rows.Add("Jenny", "Female", 1, DateTime.Today);
    return table;
    }
    }
  2. 畫面設計

    視窗畫面的部分,如下圖設計,有些功能這次還不會描述到,但是可以先設計。
    WinForm dataGridView Usage

  3. 欄位屬性設定

    比較需要注意的是DataGridViewColumns設定(此處不自行撰寫程式碼,而依靠編輯器的 code generator);需要在DataGridView的屬性視窗,點擊Columns這個屬性設定,之後就可以設定DataGridView顯示的欄位,另外需要設定DataPropertyName這屬性,這屬性跟等下需要綁定的DataTable欄位名稱相同,這樣才可以對應綁定。
    Property Columns Set
    DataPropertyName setting

  4. 資料綁定

    這部分的程式碼很簡易,直接將DataGridViewDataSource屬性指定為範例資料就好

    1
    2
    3
    4
    public Form1() {
    InitializeComponent();
    gvSample.DataSource = sampleData();
    }

    呈現樣式會這樣
    Sample Display
    附上 sample 的 github

    參考資料

歡迎關注我的其它發布渠道