2017-12-26 4 views
0

i erhalten müssen Wert von RepositoryItemRadioGroup ausgewähltget Wert von RepositoryItemRadioGroup

wie kann ich es bekommen ??

 for (int i = 0; i < gridView1.RowCount; i++) 
     { 
      int rowHandle = gridView1.GetVisibleRowHandle(i); 


QuestionsAndAnswers row = (QuestionsAndAnswers)((GridView)gridControl1.MainView).GetRow(rowHandle); 
     // row.RadioGroup> represent RepositoryItemRadioGroup 
      //i need to get selected value in row.radiongroup 

     } 
+1

Verwenden Sie die GetRowCellValue-Methode von GridView. Der zurückgegebene Wert entspricht dem EditValue des ausgewählten Radiogruppenelements. – Brendon

+0

Ich muss Daten in der Datenbank speichern, also wie kann ich dieses Ereignis verwenden? weil mein Code in Button –

+0

Es ist kein Ereignis, es ist eine Methode. Rufen Sie es einfach im Click-Handler Ihrer Schaltfläche auf, rufen Sie den Wert ab und übergeben Sie ihn an die Methode, mit der Sie Ihre Datenbank aktualisieren. – Brendon

Antwort

0

Es ist mir nicht ganz klar, warum Sie direkt auf die RadioGroup zugreifen müssen. Wenn Sie Ihr GridView an die Sammlung der QuestionsAndAnswers-Objekte gebunden haben, sollten Sie GridView-Zeilen nicht selbst durchlaufen, da alle Werte bereits auf die QuestionsAndAnswers-Eigenschaften in zwei Richtungen abgebildet sind. So kann Ihr QuestionsAndAnswers Sammlung iterieren direkt:

List<QuestionsAndAnswers> qaList = new List<QuestionsAndAnswers> { 
    new QuestionsAndAnswers(){ Question ="How are you?" } 
} 
// data binding 
gridControl1.DataSource = qaList; 
... 
void getAnswersBtn_Click(object sender, EventArgs e) { 
    foreach (QuestionsAndAnswers qa in qaList){ 
     var answer = qa.Answer; 
     // do something 
    } 
} 

Wenn Sie das Gridview in einer anderen Art und Weise gebunden sind, bitte aktualisieren Sie Ihre Frage mit der detaillierten Beschreibung:
- wie Sie die Gridview Daten binden;
- ob Sie the approach demonstrated by @Alex.T in Ihrem previous question verwenden;
- ob oder nicht Sie die documentation lesen und verstehen;

BTW, die Hauptfrage ist - haben you contacted the DevExpress team direcly und was ihre Jungs gesagt?

0
for (int i = 0; i < gridView1.RowCount; i++) 
     { 
     // can't get answer of last record so i added test line in the last record to get all answers without new last record 
      if (i==gridView1.RowCount-1) 
      { 
       continue; 
      } 
      int rowHandle = gridView1.GetVisibleRowHandle(i); 
      string ResultAnswer = (string)gridView1.GetRowCellValue(rowHandle, "Answer"); 
      string ResultQuest = (string)gridView1.GetRowCellValue(rowHandle, "Question"); 

     }