首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

WinForms 技巧:DataGridView 顯示外鍵表對應值(ComboBox 列綁定)

     編輯:關於C語言

項目中常遇到:DataGridView 綁定主表,某列為外鍵 ID,需顯示對應的名稱(如客戶級別 ID → 級別說明)。

實現步驟

  1. 界面準備:DataGridView(名 DGV)綁定客戶表 kh;ComboBox(名 LB_CB)綁定類別表 lb,DisplayMember="lbmc",ValueMember="id"。
  2. DataGridView 列類型轉換:將「客戶類別」列 ColumnType 改為 DataGridViewComboBoxColumn,DisplayStyle 設為 ComboBox。
  3. 代碼綁定下拉數據源:
    string sql = "select * from lb";
    SqlDataAdapter DA = new SqlDataAdapter(sql, Constr);
    DataTable DT = new DataTable();
    ((DataGridViewComboBoxColumn)DGV.Columns[1]).DataSource = DA.Fill(DT);
    ((DataGridViewComboBoxColumn)DGV.Columns[1]).DisplayMember = "lbmc";
    ((DataGridViewComboBoxColumn)DGV.Columns[1]).ValueMember = "id";
  4. 行點擊同步顯示詳情:
    private void DGV_CellClick(object sender, DataGridViewCellEventArgs e) {
        if (e.RowIndex > -1) {
            id = DGV.Rows[e.RowIndex].Cells[0].Value.ToString();
            LB_CB.SelectedValue = DGV.Rows[e.RowIndex].Cells[1].Value;
            gs_TB.Text = DGV.Rows[e.RowIndex].Cells[2].Value.ToString();
            sj_TB.Text = DGV.Rows[e.RowIndex].Cells[3].Value.ToString();
            yx_TB.Text = DGV.Rows[e.RowIndex].Cells[4].Value.ToString();
            fzr_TB.Text = DGV.Rows[e.RowIndex].Cells[5].Value.ToString();
        }
    }

關鍵點:將 Grid 該列轉為 ComboBox 列,並綁定相同的查找表數據源,即可實現 ID 與名稱的自動轉換顯示。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved