【问题标题】:Add combobox to datagridview C# Winforms将组合框添加到 datagridview C# Winforms
【发布时间】:2016-04-06 06:40:07
【问题描述】:

我想将组合框列添加到 datagridview。 我使用此代码绑定来自我的访问数据库的数据。

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"];

我想将一列更改为组合框,所以我可以选择值。这个组合框值来自另一个表,它称为“tbscore”(id,描述)。

tbScore.Description

有谁知道如何做到这一点?

【问题讨论】:

    标签: c# database winforms datagridview combobox


    【解决方案1】:
    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";
    }
    

    你可以在你的代码之后调用这个函数

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-09-11
      • 1970-01-01
      • 2017-11-01
      • 1970-01-01
      • 2011-11-26
      • 2018-07-10
      • 1970-01-01
      相关资源
      最近更新 更多