在我的silverlight应用程序中,我有一个带有radgridview的页面, 这个radgridview有另一个控件作为RowDetailsTemplate。
在这个RowDetailsTemplate中是另一个radgridview,另一个控件是RowDetailsTemplate。 这个RowDetailsTemplate也有一个radgridview。
所有gridview都有几个绑定到我的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?
答案 0 :(得分: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
基本上你会遍历不会导致事件取消选择的网格。