2010-02-12 83 views
0

我动态地添加行一个DataGridView这样:C#datagridview的设置单元格的值保持空

Question question = new Question(); 
List<Question> questions = question.GetQuestionsByQuestionnaire(questionnaireId); 
if (questions != null) 
{ 
    dgvQuestions.Columns.Add("Question", "Vraag"); 
    dgvQuestions.Columns.Add("QuestionType", "Vraag type"); 
    dgvQuestions.Columns.Add("Category", "Categorie"); 

    for (int i = 0; i < questions.Count; i++) 
    { 
     int row = dgvQuestions.Rows.Add(); 

     dgvQuestions.Rows[row].Cells["Question"].Value = questions[i].Question; 
     dgvQuestions.Rows[row].Cells["QuestionType"].Value = questions[i].QuestionType; 
     dgvQuestions.Rows[row].Cells["Category"].Value = questions[i].Category; 

     dgvQuestions.Rows[row].Tag = questions[i]; 
    } 
} 

我没有得到任何错误,但单元格的值保持为空,我100%肯定该问题,问题类型和类别包含数据。我在这里错过了什么?

回答

0

我不确定为什么会出现这种情况,但我想要混合使用动态数据,但输入数据集。

什么你做的是:

  1. 创建类型DataSet,添加一个“问题”表,你需要
  2. 从工具箱表单上把你DataSet的实例列(绝在此之前重新编译),将其命名为例如myDataSource
  3. BindingSource放在您的表单上,将myDataSource指定为DataSource属性,然后选择DataMember属性的表格。
  4. 例如通过使用myDataSource.Questions.NewQuestionsRow()myDataSource.Questions.AddQuestionsRow(...)指定绑定源到您的DataGridView

将数据添加到数据源的DataSource财产。

+0

Thnx,但我想要的是设置每个行的标签属性。否则,我可以使用BindingList作为数据源。 – Martijn 2010-02-12 12:47:41

0

我刚刚遇到类似的东西。您可能需要确保您的GridView的EnableViewState设置为True。

相关问题