简体   繁体   English

将组合框添加到 datagridview C# Winforms

[英]Add combobox to datagridview C# Winforms

I want to add combobox column to datagridview.我想将组合框列添加到 datagridview。 I use this code to bind data from my access database.我使用此代码从我的访问数据库绑定数据。

Class1.Connection.Open();
oleCommand = new OleDbCommand("SELECT tbAuditDetails.AuditNo, tbAuditQuestions.AutoSubcontent, tbAuditQuestions.AutoID, tbAuditQuestions.Questions, tbScore.Description, tbAuditDetails.QuestionID, tbAuditQuestions.QuestAutoID, tbAuditDetails.ScoreID, tbScore.Score, tbAuditQuestions.SubContentID, tbAuditDetails.ProfileID FROM ((tbAuditDetails INNER JOIN tbAuditQuestions ON tbAuditDetails.QuestionID = tbAuditQuestions.QuestionID) INNER JOIN tbScore ON tbAuditDetails.ScoreID = tbScore.ScoreID) WHERE (([tbAuditDetails.AuditNo] = " + Class1.detailsauditno + ") AND ([tbAuditQuestions.AutoSubcontent] = '" + newautosubcontentid + "') AND ([tbAuditDetails.ProfileID] = " + proid + ")) ORDER BY [tbAuditQuestions.QuestAutoID], [tbAuditDetails.QuestionID]", Class1.Connection);
oleAdapter = new OleDbDataAdapter(oleCommand);
oleBuilder = new OleDbCommandBuilder(oleAdapter);

oleDs = new DataSet();
oleAdapter.Fill(oleDs, "tbAuditDetails");
oleTable = oleDs.Tables["tbAuditDetails"];

Class1.Connection.Close();

dataGridView1.DataSource = oleDs.Tables["tbAuditDetails"];

I want change one column into combobox, so i can choose the value.我想将一列更改为组合框,以便我可以选择该值。 This combobox value come from another table, it called "tbscore" (id, description).这个组合框值来自另一个表,它称为“tbscore”(id,描述)。

tbScore.Description tbScore.Description

Does anyone know how to achieve this?有谁知道如何实现这一目标?

private void AddComboboxColumn()
{
 DataGridViewComboBoxColumn ColComboBox = new DataGridViewComboBoxColumn();
 dataGridView1.Columns.Add(ColComboBox );
 ColComboBox.DataPropertyName = "ScoreID";
 ColComboBox.HeaderText = "Category";
 ColComboBox.ValueType = typeof(string);
 ColComboBox.DisplayStyle = DataGridViewComboBoxDisplayStyle.DropDownButton;
 ColComboBox.DisplayIndex = 2;
 ColComboBox.Width = 150;
 ColComboBox.DataSource = oleDs ;
 ColComboBox.DisplayMember = "description";
 ColComboBox.ValueMember = "ScoreID";
 ColComboBox.Name = "ScoreID";
 ColComboBox.DataPropertyName = "ScoreID";
}

You can call this function after your code你可以在你的代码之后调用这个函数

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM