【问题标题】:Radgridview select only one detail rowRadgridview 只选择一个明细行
【发布时间】:2012-04-23 13:06:01
【问题描述】:

在我的 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?

【问题讨论】:

    标签: silverlight telerik radgrid


    【解决方案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
    

    基本上,您将遍历不会导致事件取消选择所有内容的网格。

    【讨论】:

    • 这个解决方案似乎可行,我曾希望找到更像 MVVM 的东西,但这肯定会。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-06-14
    • 1970-01-01
    • 2012-09-26
    • 2013-05-19
    • 2017-08-10
    • 2014-12-27
    相关资源
    最近更新 更多