WPF-データグリッドで選択した行インデックスを取得する方法は?

サントッシュ

datagridにテキストボックスがあります。データはデータベースから取得しています。これらのテキストボックス値を持つ10行があると仮定します。この行をクリックすると、この選択した行インデックスを取得できます。私の目標は、テキストボックスの値が変更されたら、それがどの行(どの値)であるかを検出し、この値に基づいて計算を行ってから、同じ行の別のフィールドを表示する必要がある場合です。だから私はどの行がヒットするかを知る立場にあります。「私は次の宣言で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]; 

何も機能していません。さらに進む方法を教えてください。

広告

c選択変更イベント(SelectionChanged = "ItemsView_OnSelectionChanged")をサブスクライブし、ハンドラーを使用して必要なものをすべて取得します。ビヘイビアー(およびMVVM)でそれを行うか、コードの背後にハンドラーを配置することができます。

ハンドラーのコード例

 private void ItemsView_OnSelectionChanged(object sender, SelectionChangedEventArgs e)
    {
        var dg = sender as DataGrid;
        if (dg == null) return;
        var index = dg.SelectedIndex;
        //here we get the actual row at selected index
        DataGridRow row = dg.ItemContainerGenerator.ContainerFromIndex(index) as DataGridRow;

        //here we get the actual data item behind the selected row
        var item = dg.ItemContainerGenerator.ItemFromContainer(row);

    }

さらに説明が必要な場合はお知らせください。よろしく。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

選択した行から選択したコンボボックス値を取得するWPFデータグリッド(Powershell)

分類Dev

MVVMを使用してwpfデータグリッドで選択したアイテムを取得する方法

分類Dev

データグリッドで選択した行の数をWPFのテキストボックスに返す方法は?

分類Dev

Xceed拡張WPFデータグリッドは右クリックで行を選択します

分類Dev

ValidationRule:データグリッドWPF C#内の選択されたコンボボックスの行番号を取得します

分類Dev

wpfデータグリッドを使用してDataGridHyperlinkColumnから選択した値を取得する方法

分類Dev

WPFデータグリッド、作成した行を選択またはフォーカスすることは可能ですか?

分類Dev

WPF:DataGridでクリック/選択されたセルのインデックスを取得します

分類Dev

選択したリストボックスアイテムのデータをwpfで表示する

分類Dev

WPFでMVVMデザインパターンを使用してプログラムでデータグリッド行のフォーカスを選択および設定する方法

分類Dev

右クリックでデータグリッドの列インデックスを取得するにはどうすればよいですか?MVVM WPF

分類Dev

コードビハインドを使用して、wpfデータグリッド内の選択した行(またはセル)のハイライトを削除する方法

分類Dev

WPFデータグリッドは選択されたセル値を取得します

分類Dev

wpfデータグリッドで行ヘッダーをバインドする方法は?

分類Dev

選択したアイテムを削除するデータグリッドを備えたWPF

分類Dev

WPF DataGrid:ComboBoxの選択が変更された行のインデックスを特定する方法は?

分類Dev

wpfデータグリッドのチェックボックスから値を選択します

分類Dev

WPFデータグリッドの列の[すべて選択]ボタンを取得します

分類Dev

データグリッドC#wpfで動的に行を作成する方法は?

分類Dev

WPF C#でデータバインディングを使用してコンボボックスの選択したインデックスを変更する

分類Dev

ColumnHeaderをクリックして、列全体を選択します。WPFデータグリッド

分類Dev

比較のために、データベースから入力されたコンボボックスから、データバインディングWPF / MVVMを介して選択された値を取得します。

分類Dev

ボタンコマンドwpfでデータグリッドにデータを入力する方法は?

分類Dev

WPFの2つのitemsSourceでデータグリッドをバインドする方法は?

分類Dev

データグリッドWPFで行を取得するにはどうすればよいですか?

分類Dev

WPFデータグリッドコンボボックスバインディングに静的リソースを使用する方法

分類Dev

WPF / PowerShellのデータグリッドコンテキストメニューからクリックされたMenuItemヘッダー値を取得します

分類Dev

datatableを使用したWPFデータグリッドバインディング

分類Dev

C#WPFデータグリッド-データバインドコンボボックスのデフォルトの選択値の設定

Related 関連記事

  1. 1

    選択した行から選択したコンボボックス値を取得するWPFデータグリッド(Powershell)

  2. 2

    MVVMを使用してwpfデータグリッドで選択したアイテムを取得する方法

  3. 3

    データグリッドで選択した行の数をWPFのテキストボックスに返す方法は?

  4. 4

    Xceed拡張WPFデータグリッドは右クリックで行を選択します

  5. 5

    ValidationRule:データグリッドWPF C#内の選択されたコンボボックスの行番号を取得します

  6. 6

    wpfデータグリッドを使用してDataGridHyperlinkColumnから選択した値を取得する方法

  7. 7

    WPFデータグリッド、作成した行を選択またはフォーカスすることは可能ですか?

  8. 8

    WPF:DataGridでクリック/選択されたセルのインデックスを取得します

  9. 9

    選択したリストボックスアイテムのデータをwpfで表示する

  10. 10

    WPFでMVVMデザインパターンを使用してプログラムでデータグリッド行のフォーカスを選択および設定する方法

  11. 11

    右クリックでデータグリッドの列インデックスを取得するにはどうすればよいですか?MVVM WPF

  12. 12

    コードビハインドを使用して、wpfデータグリッド内の選択した行(またはセル)のハイライトを削除する方法

  13. 13

    WPFデータグリッドは選択されたセル値を取得します

  14. 14

    wpfデータグリッドで行ヘッダーをバインドする方法は?

  15. 15

    選択したアイテムを削除するデータグリッドを備えたWPF

  16. 16

    WPF DataGrid:ComboBoxの選択が変更された行のインデックスを特定する方法は?

  17. 17

    wpfデータグリッドのチェックボックスから値を選択します

  18. 18

    WPFデータグリッドの列の[すべて選択]ボタンを取得します

  19. 19

    データグリッドC#wpfで動的に行を作成する方法は?

  20. 20

    WPF C#でデータバインディングを使用してコンボボックスの選択したインデックスを変更する

  21. 21

    ColumnHeaderをクリックして、列全体を選択します。WPFデータグリッド

  22. 22

    比較のために、データベースから入力されたコンボボックスから、データバインディングWPF / MVVMを介して選択された値を取得します。

  23. 23

    ボタンコマンドwpfでデータグリッドにデータを入力する方法は?

  24. 24

    WPFの2つのitemsSourceでデータグリッドをバインドする方法は?

  25. 25

    データグリッドWPFで行を取得するにはどうすればよいですか?

  26. 26

    WPFデータグリッドコンボボックスバインディングに静的リソースを使用する方法

  27. 27

    WPF / PowerShellのデータグリッドコンテキストメニューからクリックされたMenuItemヘッダー値を取得します

  28. 28

    datatableを使用したWPFデータグリッドバインディング

  29. 29

    C#WPFデータグリッド-データバインドコンボボックスのデフォルトの選択値の設定

ホットタグ

アーカイブ