WPF - How, um die ausgewählte Zeile index im datagrid?
Habe ich das Textfeld in datagrid. Daten sind aus der Datenbank. angenommen ich habe 10 Zeilen mit dieser textbox Wert. sobald ich Sie auf diese Zeile, in der Lage, diese ausgewählte Zeile, die index. Mein Ziel ist, wenn einmal textbox Wert sind, erhalten zu ändern, die ich brauche, um zu erkennen, welche Zeile es ist (welchen Wert)und die einige Berechnung basierend auf diesem Wert werden dann angezeigt werden müssen, ein anderes Feld der gleichen Zeile. Also ich bin in der Lage zu wissen, welche Zeile als Treffer bekommen. "Ich bin mit Datagrid mit folgenden Erklärungen:
<dg:DataGrid Name="dgBudgetAllocation" CanUserDeleteRows="False" CanUserAddRows="False" CanUserSortColumns="True"
IsSynchronizedWithCurrentItem="True" MaxHeight="400" RowHeight="70" SelectionUnit="Cell" SelectedValue="" SelectionMode="Single"
AutoGenerateColumns="False" GridLinesVisibility="None" HeadersVisibility="Column" PreviewMouseDown="DgBudgetAllocation_OnPreviewMouseDown" SelectedCellsChanged="DgBudgetAllocation_OnSelectedCellsChanged" MouseDown="DgBudgetAllocation_OnMouseDown" PreviewMouseUp="DgBudgetAllocation_OnPreviewMouseUp" PreviewKeyDown="DgBudgetAllocation_OnPreviewKeyDown" HorizontalAlignment="Left">
<dg:DataGridTemplateColumn Header="Budget Type" SortMemberPath="BUDGETYPE"
MinWidth="50" HeaderStyle="{DynamicResource dgHeaderLeftJust}" CellStyle="{DynamicResource dgColumnRightJust}">
<dg:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding BUDGETYPE}" HorizontalAlignment="left" VerticalAlignment="Top" Margin="0,0,3,0" />
</DataTemplate>
</dg:DataGridTemplateColumn.CellTemplate>
</dg:DataGridTemplateColumn>
Habe ich versucht der folgende Abschnitt basiert auf verschiedenen person Vorschlag. für alle bin ich immer die ausgewählten index -1 ist.
DataRowView drv = (DataRowView)dgBudgetAllocation.SelectedItem;
object item = dgBudgetAllocation.SelectedItem;
string ID = (dgBudgetAllocation.SelectedCells[0].Column.GetCellContent(item) as TextBlock).Text;
DataGrid row1 = (DataGrid)dgBudgetAllocation.SelectedItems[1];
var row = dgBudgetAllocation.SelectedItems[0];
Nichts funktioniert.
Bitte schlagen Sie mich, wie weiter Verfahren wird .
Du musst angemeldet sein, um einen Kommentar abzugeben.
cSubscribe für die Auswahl verändert werden( SelectionChanged="ItemsView_OnSelectionChanged") und verwenden Sie die handler, um alle Dinge, die Sie benötigen. Sie können tun, dass im Verhalten(und MVVM) oder einfach nur die hf in Ihrem code.
Eine handler-code-Beispiel
Lassen Sie mich wissen, wenn Sie mehr Erklärung.
Grüße.