aaa152314
2022-03-21 20:21
浏览 24

C#DataGridView中ComboBoxColumn有下拉列表值,也有当前显示的值,如何在载入时使数据库中的值为当前值

    private List<KeyValuePair<string, string>> getSeatTypies()
        {
            return new List<KeyValuePair<string, string>>
            {
                new KeyValuePair<string, string>("0", "无座"),
                new KeyValuePair<string, string>("1", "硬座"),
                new KeyValuePair<string, string>("2", "软座"),
                new KeyValuePair<string, string>("3", "硬卧"),
                new KeyValuePair<string, string>("4", "软卧"),
                new KeyValuePair<string, string>("6", "高级软卧"),
                new KeyValuePair<string, string>("9", "商务座"),
                new KeyValuePair<string, string>("7", "一等软座"),
                new KeyValuePair<string, string>("8", "二等软座"),
                new KeyValuePair<string, string>("M", "一等座"),
                new KeyValuePair<string, string>("O", "二等座"),
                new KeyValuePair<string, string>("P", "特等座")
            };
        }
        private void Form1_Load(object sender, EventArgs e)
        {
            DataTable dtData = new DataTable();
            dtData.Columns.Add("name");
            dtData.Columns.Add("com");
            dtData.Columns.Add("BTL");
            DataRow drData;
            drData = dtData.NewRow();
            drData[0] = "1";
            drData[1] = "张三";
            drData[2] = "一等软座";
            dtData.Rows.Add(drData);
            drData = dtData.NewRow();
            drData[0] = "2";
            drData[1] = "李四";
            drData[2] = "特等座";
            dtData.Rows.Add(drData);

            dataGridView1.DataSource = dtData;
            DataGridViewComboBoxColumn dataGridViewComboBoxColumn = new DataGridViewComboBoxColumn();
            dataGridViewComboBoxColumn.Name = "dgvcbcSeatType";
            dataGridViewComboBoxColumn.DataPropertyName = "SeatType";
            dataGridViewComboBoxColumn.DataSource = this.getSeatTypies();
            dataGridViewComboBoxColumn.ValueMember = "key";
            dataGridViewComboBoxColumn.DisplayMember = "value";
            dataGridViewComboBoxColumn.HeaderText = "席别";
            dataGridViewComboBoxColumn.Width = 100;
            //dataGridViewComboBoxColumn.DefaultCellStyle.NullValue = "一等软座";
           dataGridView1.Columns.Add(dataGridViewComboBoxColumn);

        }

代码如上,如何使 drData[2]的值显示为对应行数默认dataGridViewComboBoxColumn的值,而不是另外一列

相关推荐 更多相似问题