Hi Leute,
hoffe ich poste im richtigen Teil des Forums.
Ich habe einen argen Hirnknoten was die Verwendung des Datagrids des CompactFrameworks angeht.
Hier erst mal Randdaten: In dem DataGrid sollen Daten angezeigt werden, welche ich von einem Webservice als DataTable geliefert bekomme. Nur will ich einige Aktionen im DataGrid ausführen können, wie z.B. Spalten ein- und ausblenden, Spalten sortieren usw. Dies funktioniert soweit auch, nur bin ich mir so im großen und ganzen nicht sicher ob ich die Sache überhaupt richtig angehe.
Ich initialisiere wie folgt (beispielhaft):
C#-Quelltext
1: 2: 3:
| myDataTable = dataTablevonWebService; myTableStye.MappingName = myDataTable.Tablename; myDataGrid.DataSource = myDataTable; |
---> über den Tablestyle entscheide ich nun aufgrund einer Liste welche Columns angezeigt werden sollen:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18:
| if (StyleList.Count != 0) { for (int i = 0; i < StyleList.Count; i++) { if (myDataTable.Columns.Contains(StyleList[i].Name)) { string colName = StyleList[i].Name; DataGridColumnStyle cStyle = new DataGridTextBoxColumn(); cStyle.MappingName = colName; cStyle.HeaderText = colName; cStyle.NullText = String.Empty; myTableStyle.GridColumnStyles.Add(cStyle); } } myDataGrid.TableStyles.Add(myTableStyle); myDataGrid.DataSource = myDataTable; } |
---> Funktioniert auch soweit gut.
Nun stelle ich mir aber die Frage wie sich das mit den Daten verhält, und zwar möchte ich aufgrund der Auswahl der DataRow einen bestimmten Wert von einer Column übergeben, die jedoch so nicht eingeblendet ist. Was ich daran nicht verstehe, ob ich überhaupt auf diesem Weg an irgendwelche Daten rankommen kann, oder nicht, Vorallem dann wenn ich im DataGrid sortiere, da ja dann der RowIndex des Grids nicht mit dem Index des DataTables übereinstimmt.
Also meine Vorstellung ist so (und hier liegt wahrscheinlich der Hase begraben): Ich blende nur die Columns ein, die ich möchte (über TableStyle), kann aber aufgrund der Ansicht und der Auswahl einer Row problemlos im Hintergrund auf die kompletten RowDaten zugreifen.
Ich würde mich sehr freuen wenn Ihr mir aus dem Schlamassel raushelfen könntet.
Viele Grüße
Chris
Moderiert von
Th69: C#-Tags hinzugefügt