У меня есть текстовое поле в datagrid. Данные берутся из базы данных. предположим, что у меня есть 10 строк с этим значением текстового поля. как только я нажимаю на эту строку, могу получить этот выбранный индекс строки. Моя цель состоит в том, что если значение текстового поля получает изменение, мне нужно определить, какая строка (какое значение) и выполнить некоторые вычисления на основе этого значения, тогда нужно отобразить другое поле той же строки. Поэтому я в состоянии узнать, какая из строк попала. `Я использую DataGrid со следующими декларациями:WPF-Как получить выбранный индекс строки в datagrid?
<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>
Я попытался следующий фрагмент кода на основе различных человека внушению. для всех я получаю выбранный индекс -1.
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];
Ничего не работает. Пожалуйста, предложите мне, как продолжить дальше.
Его работы для меня. Спасибо много,. вы спасли много раз. Спасибо, много раз. – Santhosh