0

在我的silverlight 应用程序中,我有一个带有radgridview 的页面,这个radgridview 有另一个控件作为RowDetailsTemplate。

在这个 RowDetailsTemplate 中是另一个 radgridview 与另一个控件作为 RowDetailsTemplate。这个 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 到 N 行。这看起来很混乱,不是很用户友好。

我的问题:

更改此设置的最佳方法是什么,以便只能选择一行,而不是从 1 到 N?

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 回答