Benutzer mit den meisten Antworten
Fehler in for Schleife ??

Frage
-
Hallo
habe folgende for Schleife
for (int i = 0; i < ContractArts_in_Member_Grid.Items.Count; i++) { if (ContractArts_in_Member_Grid.Columns[2] == checked) { neu.MemberID = Convert.ToInt32(MemberIDTextBox.Text; neu.ContractID = i; } }
er sagt mir das hinter checked) noch eine ")" erwartet wird.
Warum ??
danke
Cay
Antworten
-
Hallo, ich nehme mal an das checked eine Variable oder ein Feld/Eigenschaft ist. checked ist in C#ein Schlüsselwort:
http://msdn.microsoft.com/de-de/library/74b4xzyw.aspxUm checked doch als Namen nutzen zu können, musst du ein @ davor setzen:
if (ContractArts_in_Member_Grid.Columns[2] == @checked)
Bei der Deklaration übrigens auch schon.
<Code:13/> - Koopakiller [kuːpakɪllɐ]
Webseite | Code Beispiele | Facebook | Snippets
Wenn die Frage beantwortet ist, dann markiert die hilfreichsten Beiträge als Antwort und bewertet die Beiträge. Danke.
Einen Konverter zwischen C# und VB.NET Code gibt es hier.- Als Antwort vorgeschlagen Stefan Hoffmann Samstag, 11. Mai 2013 10:10
- Als Antwort markiert joksch_c Samstag, 11. Mai 2013 10:11
-
Wenn du im Codebehind eine Auflistung hast, an die du das DG bindest. Dann könntest du die markierte Zeile (Row) in ein Objekt dieser Klasse parsen und dann entsprechend ausfragen. In nachfolgendem Thread findest du ein Codebeispiel:
http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/cab90c74-9b49-4237-b49e-485d7c4958ed/
Wenn du dagegen das DG direkt an die DB bindest, dann fällt mir nur ein den Wert nochmal direkt aus der DB abzufragen. Vielleicht gibt es einen besseren Weg, kennen tue' ich jedoch keinen.
PS: Was ich gerade noch gefunden habe:
http://stackoverflow.com/questions/3368302/wpf-datagrid-read-a-cell-value<Code:13/> - Koopakiller [kuːpakɪllɐ]
Webseite | Code Beispiele | Facebook | Snippets
Wenn die Frage beantwortet ist, dann markiert die hilfreichsten Beiträge als Antwort und bewertet die Beiträge. Danke.
Einen Konverter zwischen C# und VB.NET Code gibt es hier.- Als Antwort markiert joksch_c Sonntag, 12. Mai 2013 07:41
-
Ich habe jetzt eine funktionierende Lösung gefunden:
foreach(var item in dg.Items) { bool? isChecked = (dg.Columns[2].GetCellContent(item) as CheckBox).IsChecked; }
Es werden nach wie vor alle Elemente durch iteriert und dann das Value der Spalte (3, Index: 2) abgerufen. Bei diesem Objekt handelt es sich um eine CheckBox.<Code:13/> - Koopakiller [kuːpakɪllɐ]
Webseite | Code Beispiele | Facebook | Snippets
Wenn die Frage beantwortet ist, dann markiert die hilfreichsten Beiträge als Antwort und bewertet die Beiträge. Danke.
Einen Konverter zwischen C# und VB.NET Code gibt es hier.- Als Antwort markiert joksch_c Montag, 13. Mai 2013 09:38
Alle Antworten
-
Hallo, ich nehme mal an das checked eine Variable oder ein Feld/Eigenschaft ist. checked ist in C#ein Schlüsselwort:
http://msdn.microsoft.com/de-de/library/74b4xzyw.aspxUm checked doch als Namen nutzen zu können, musst du ein @ davor setzen:
if (ContractArts_in_Member_Grid.Columns[2] == @checked)
Bei der Deklaration übrigens auch schon.
<Code:13/> - Koopakiller [kuːpakɪllɐ]
Webseite | Code Beispiele | Facebook | Snippets
Wenn die Frage beantwortet ist, dann markiert die hilfreichsten Beiträge als Antwort und bewertet die Beiträge. Danke.
Einen Konverter zwischen C# und VB.NET Code gibt es hier.- Als Antwort vorgeschlagen Stefan Hoffmann Samstag, 11. Mai 2013 10:10
- Als Antwort markiert joksch_c Samstag, 11. Mai 2013 10:11
-
Hallo,
ich wollte eigentlich was ganz anderes aber eure antworten sind natürlich richtig :)
Ich habe ein Datagrid in dem ich aus einer SQL Datenbank die Columes auslese und dann zusätzlich eine Checkbox mit gebe "DataGridTemplateColumn.CellTemplate" nun wollte ich diese Checkbox auslesen ob sie checked ist oder nicht.
Jemand eine Ahnung wie ich das hinbekomme, da mein weg ja völlig falsch war :)
Es geht um das Value dieser erzeugten Checkbox wie komme ich da drann ??
grüße
Cay
- Bearbeitet joksch_c Samstag, 11. Mai 2013 12:16
-
Wenn du im Codebehind eine Auflistung hast, an die du das DG bindest. Dann könntest du die markierte Zeile (Row) in ein Objekt dieser Klasse parsen und dann entsprechend ausfragen. In nachfolgendem Thread findest du ein Codebeispiel:
http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/cab90c74-9b49-4237-b49e-485d7c4958ed/
Wenn du dagegen das DG direkt an die DB bindest, dann fällt mir nur ein den Wert nochmal direkt aus der DB abzufragen. Vielleicht gibt es einen besseren Weg, kennen tue' ich jedoch keinen.
PS: Was ich gerade noch gefunden habe:
http://stackoverflow.com/questions/3368302/wpf-datagrid-read-a-cell-value<Code:13/> - Koopakiller [kuːpakɪllɐ]
Webseite | Code Beispiele | Facebook | Snippets
Wenn die Frage beantwortet ist, dann markiert die hilfreichsten Beiträge als Antwort und bewertet die Beiträge. Danke.
Einen Konverter zwischen C# und VB.NET Code gibt es hier.- Als Antwort markiert joksch_c Sonntag, 12. Mai 2013 07:41
-
Hi,
gute antworten ab ich bin glaube ich zu doof das um zusetzen.
Ich bin nun übergegangen und habe in der Datenbank ein BIT Feld hinzugefügt das ich dann mit
<DataGridCheckBoxColumn Header="Aktiv" Binding="{Binding Path=ConBit}" />
eingefügt habe.
das klappt auch wunderbar aber nun wieder meine dumme Frage wie komme ich an das Value ob dieses angeklickt ist oder nicht ??
Sorry
Cay
PS: Bei mir gibt es dieses .Row nicht
foreach (DataRowView row in dgLista.SelectedItems) { string text = row.Row.ItemArray[index].ToString(); }
- Bearbeitet joksch_c Sonntag, 12. Mai 2013 09:23
-
Ich habe jetzt eine funktionierende Lösung gefunden:
foreach(var item in dg.Items) { bool? isChecked = (dg.Columns[2].GetCellContent(item) as CheckBox).IsChecked; }
Es werden nach wie vor alle Elemente durch iteriert und dann das Value der Spalte (3, Index: 2) abgerufen. Bei diesem Objekt handelt es sich um eine CheckBox.<Code:13/> - Koopakiller [kuːpakɪllɐ]
Webseite | Code Beispiele | Facebook | Snippets
Wenn die Frage beantwortet ist, dann markiert die hilfreichsten Beiträge als Antwort und bewertet die Beiträge. Danke.
Einen Konverter zwischen C# und VB.NET Code gibt es hier.- Als Antwort markiert joksch_c Montag, 13. Mai 2013 09:38