[英]dataGridView - change column to combobox
我通過這段代碼來做我的dataGridViews
sda = new SqlDataAdapter("SELECT id, acc_name, acc1_company, acc1_no, acc1_type, acc2_company, acc2_no, acc2_type FROM accounting", con);
dt = new DataTable();
sda.Fill(dt);
dataGridView1.DataSource = dt;
dataGridView1.Columns[0].Visible = false;
dataGridView1.Columns[1].HeaderText = "Name";
dataGridView1.Columns[2].HeaderText = "Company 1";
dataGridView1.Columns[3].HeaderText = "Accounts 1";
dataGridView1.Columns[4].HeaderText = "Type 1";
dataGridView1.Columns[5].HeaderText = "Company 2";
dataGridView1.Columns[6].HeaderText = "Accounts 2";
dataGridView1.Columns[7].HeaderText = "Type 2";
我想要的是將第4列和第7列更改為組合框,並使用數據庫中另一個表中的數據。
那怎么可能=
嘗試這樣的事情:
dataGridView1.AutoGenerateColumns = false;
DataTable dt = new DataTable();
dt.Columns.Add("Name", typeof(String));
dt.Columns.Add("Money", typeof(String));
dt.Rows.Add(new object[] { "Hi", 100 });
dt.Rows.Add(new object[] { "Ki", 30 });
DataGridViewComboBoxColumn money = new DataGridViewComboBoxColumn();
var list11 = new List<string>() { "10", "30", "80", "100" };
money.DataSource = list11;
money.HeaderText = "Money";
money.DataPropertyName = "Money";
DataGridViewTextBoxColumn name = new DataGridViewTextBoxColumn();
name.HeaderText = "Name";
name.DataPropertyName = "Name";
dataGridView1.DataSource = dt;
dataGridView1.Columns.AddRange(name, money);
只需使用DataPropertyName
而不是ValueMember
從這個答案 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.