我的vb.net程序中有一个ultragrid和一个计时器。每次我的计时器滴答时,它会重置我点击的任何选定的行。所以我想在每个tick上保存行的索引并在tick之后重新加载它。问题是我的网格中也有组。所以我可能有两组,每组我可能有3行,另外5行。所以我需要知道如何选择组中的组和行以保存它并在勾选后重新加载它。我知道我选择了带有ultragrid.activeRow等的行。
这是我的小组
Dim dt As DataTable = Nothing
Timer1.Enabled = True
UltraGrid1.DataSource = Nothing
Generic.openOrders(dt)
UltraGrid1.DataSource = dt
Dim band As Infragistics.Win.UltraWinGrid.UltraGridBand = UltraGrid1.DisplayLayout.Bands(0)
UltraGrid1.DisplayLayout.ViewStyleBand = Infragistics.Win.UltraWinGrid.ViewStyleBand.OutlookGroupBy
band.SortedColumns.Add(band.Columns("ORDERDATE"), False, True)
band.SortedColumns.Add(band.Columns("ORDERTIME"), False, True)
band.Columns("USERNAME").CellClickAction = CellClickAction.RowSelect
band.Columns("QUANTITY").CellClickAction = CellClickAction.RowSelect
band.Columns("ORDERLIST").CellClickAction = CellClickAction.RowSelect
band.Columns("LOCATION").CellClickAction = CellClickAction.RowSelect
band.Columns("PAID").Hidden = True
band.Columns("PROCESSING").Hidden = True
band.Columns("COMPLETED").Hidden = True
band.Columns("ITEMTIME").Hidden = True
band.Columns("ITEMPRICE").Hidden = True
band.Columns("ORDERPRICE").Hidden = True
band.Columns("READYORDER").Hidden = True
UltraGrid1.DisplayLayout.Override.AllowColSizing = Infragistics.Win.UltraWinGrid.ColumnAutoSizeMode.VisibleRows
UltraGrid1.Rows.ExpandAll(True)
我的输出是这样的:
ORDERDATE:
ORDERTIME:
ORDER1 ITEM1
ORDER1 ITEM2
ORDER1 ITEM3
ORDERTIME:
ORDER2 ITEM1
ORDER2 ITEM2
ORDERDATE:
ORDERTIME:
ORDER3 ITEM1
ORDER3 ITEM2
ORDER3 ITEM3
ORDER3 ITEM4
我设法使用此代码获取ORDERDATE,ORDERTIME和ORDER的索引:
If UltraGrid1.Selected.Rows.Count > 0 Then
Dim rowSelected As UltraGridRow
For Each rowSelected In UltraGrid1.Selected.Rows
rowIndex = rowSelected.Index
itemTimeIndex = rowSelected.ParentCollection.ParentRow.Index
orderTimeIndex = rowSelected.ParentCollection.ParentRow.ParentCollection.ParentRow.Index
Next
End If
现在我如何将它们设置回新的超网格?
答案 0 :(得分:0)
假设Grid用于进行分组并且网格绑定的数据是平的,您可以使用ultraGrid1.Rows.GetRowWithListIndex传入源列表中的行的索引来获取您的行需要激活。
只要您的行具有ID,您就可以存储该ID并在新列表中找到相同的行,然后使用GetRowWithListIndex方法获取网格中的新行。对于相关的GroupByRow,可以使用UltraGridRow公开的ParentRow属性。