我正在以这种方式动态地向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];
}
}
我没有收到任何错误,但是单元格值保持为null并且我100%确定Question,QuestionType和Category包含数据。我在这里缺少什么?
答案 0 :(得分:0)
我不确定为什么会出现这种情况,但我会考虑混合使用动态数据但是输入数据集。
你要做的是:
DataSet
,添加一个“问题”表,其中包含您需要的列DataSet
的实例(必须在此之前重新编译),将其命名为myDataSource
。BindingSource
,将myDataSource
分配给DataSource
媒体资源,然后为DataMember
媒体资源选择表格。DataSource
DataGridView
属性
醇>
使用例如myDataSource.Questions.NewQuestionsRow()
和myDataSource.Questions.AddQuestionsRow(...)
答案 1 :(得分:0)
我刚遇到类似的事情。您可能希望确保GridView的EnableViewState设置为True。
答案 2 :(得分:0)
确保您的GridView的VitualMode设置为False。