2017-01-24 26 views
0

Ich habe eine normale Datenbindungssituation, in der meine zugrunde liegenden Frageobjekteigenschaften an Spalten in einem XtraGrid.GridControl-Steuerelement gebunden sind. Ich habe jedoch eine Texteigenschaft in der Form "{Frage | Wahr}, {Frage | Falsch}". Diese müssen Kontrollkästchen im Raster zugeordnet sein (potenziell viele pro Eigenschaft). Ist es möglich, eine Datenbindung zu verwenden, um diese Zeichenfolgeneigenschaft direkt an eine Zelle zu binden, die die Bearbeitung der Checkbox ermöglicht, möglicherweise unter Verwendung einer CheckedComboBox? Ich denke, dass ich einen Zwischenschritt im Bindeprozess benötigen würde, um die ursprüngliche Zeichenfolge den Ankreuzfeldern zuzuordnen, und dann von den Ankreuzfeldern zurück zu der Zeichenfolge.Bindung von Objekt zu Gitter zu devexpress

Ansonsten denke ich derzeit daran, eine weitere Schicht von Objekten zu erstellen, die für jede der Checkbox-Optionen ein neues Objekt enthält, aber wenn ich irgendwie den Standardbindungsprozess mit einer Zuordnung vom obigen Text zu den Checkboxen in a unterbrechen könnte CheckComboBox Ich könnte direkt an die zugrunde liegenden Objekte binden.

+0

DX-Gitter ist sehr flexibel in Bezug auf die Bindung. Ich bin sicher, dass es möglich sein sollte, das zu erreichen, was Sie wollen. Aber stellen Sie zuerst einen Screenshot der UI-Skizze zur Verfügung, wie diese Checkboxen in der Gitterzeile/Zelle aussehen sollen. – andrews

Antwort

0

ich den Text in eine Sammlung von CheckboxQuestionAndAnswer Objekte Umwandlung endete die ich dann an das Gitter gebunden habe, um sie dann in eine einzelne Textzeichenfolge umzuwandeln, um die Daten zurückzuschreiben.

0

Wenn ich Sie gut verstanden habe, denke ich, dass Sie Ihr Frageobjekt ändern sollten, um bool Eigenschaft zu enthalten. Bool-Eigenschaften sind als Checkboxen an Gitter gebunden, sodass sie automatisch funktionieren. Ich weiß, dass Ihre wirklichen Wert dieser Eigenschaft String sein sollte „{Frage | True}“ so können Sie diese Eigenschaft auf diese Weise festgelegt:

private string question; 

private bool questionBool; 
public bool QuestionBool{ 
get{return questionBool;} 
set{ 
if(value) 
    question = "{Question|True}"}; 
else 
    question = "{Question|False}"; 

questionBool = value; 

} 
+0

Danke Paweł, aber das Problem, das ich hatte, war, dass es mehrere Checkboxen im gleichen Feld gibt. – majjam

Verwandte Themen