2014-11-13 5 views
0

Мне сложно определить, как связывать элементы с источником данных в каждой строке в каждом поле со списком в моем datagridview.
В принципе, у меня есть 3 столбца, 1-я и 2-я строки - это тексты, а третья строка - это поле со списком.
первая строка является question category
второй ряд является question
третий ряд является answer for each question
VB.net Datagridview, связать combobox с различными источниками данных

ответ меняется на вопрос, поэтому ответ устанавливается как ComboBox.

Это то, что я получил до сих пор ..

For Each question As CRM.Domain.Entities.CampaignDB.CampaignQuestion In questions 
    'get question category 
    questionCategoryStr = questionCategory.Find(Function(column) column.QuestionCategoryId = question.QuestionCategoryId) 
    'filter the answers 
    answerStr = answers.FindAll(Function(column) column.CampaignQuestionId = question.CampaignQuestionId) 

    Dim dgvcc As New DataGridViewComboBoxCell 
    With dgvcc 
     .DataSource = answerStr 
     .ValueMember = "CampaignAnswerId" 
      .DisplayMember = "Answer" 
    End With 

    'this will only add rows with question category and the question, 
    dgvSurveyQuestions.Rows.Add(questionCategoryStr.CategoryName, question.Question) 
    'however, if I do this 
    dgvSurveyQuestions.Rows.Add(questionCategoryStr.CategoryName, question.Question, dgvcc) 
    'it throws an error "Datagridview Default Error Dialog" 
Next 

Sample image of the error

ответ

0

лол хорошо теперь я понимаю ..

dgvSurveyQuestions.Rows.Add(questionCategoryStr.CategoryName, question.Question) 
dgvSurveyQuestions.Item(2, rowIndex) = dgvcc 

RowIndex счетчик, который начинается с нуля и увеличивается, когда цикл прогрессирует.

Смежные вопросы