0

私のSilverlightアプリケーションには、radgridviewを含むページがあります。このradgridviewには、RowDetailsTemplateという別のコントロールがあります。

このRowDetailsTemplateには、RowDetailsTemplateとして別のコントロールを持つ別のradgridviewがあります。このRowDetailsTemplateにもradgridviewがあります。

すべてのグリッドビューには、ViewModelへのいくつかのバインディングがあります(私はMVVMを使用しました)

階層は次のようになります。

 - RadGridView
      - RadGridView (in fact a seperate control with a gridview, setup as rowdetailstemplate on the parent gridview)
           -RadGridView (in fact a seperate control with a gridview, setup as rowdetailstemplate on the parent gridview)

私の設定では、グリッド/詳細グリッドごとに1つの行を選択できます。

これは、グリッド全体で1〜N行を視覚的に選択できることを意味します。これはかなり混沌としているように見え、あまりユーザーフレンドリーではありません。

私の質問:

これを変更して、1からNではなく1つの行のみを選択できるようにするための最良の方法は何ですか?

4

1 に答える 1

1

それが望ましい方法かどうかはわかりませんが、このようなことを行うことができます...

    Private Sub AllGrids_ItemClicked(ByVal sender As Object, ByVal e As Telerik.Web.UI.GridCommandEventArgs) _
    Handles grd1.ItemCommand, grd2.ItemCommand, grd3.ItemCommand
    dim gridSelected as New RadGrid 
    gridSelected = sender
    If e.CommandName = "RowClick" Then
       if gridSelected.ID = grd1.ID then
          For i As Integer = 0 To grdMenu.Items.Count - 1
            If grd2.Items(i).Selected Then
                grd2.Items(i).Selected = False
            End If
           Next
           For i As Integer = 0 To grdMenu.Items.Count - 1
            If grd3.Items(i).Selected Then
                grd3.Items(i).Selected = False
            End If
           Next
       end if
    End If
    '' Do this again for each of the other grids.
End Sub

基本的に、イベントによってすべての選択が解除されなかったグリッドをループします。

于 2012-05-02T22:56:18.000 に答える