vb.netプログラムにウルトラグリッドとタイマーがあります。タイマーがチェックするたびに、クリックした選択した行がリセットされます。だから私は各ティックで行のインデックスを保存し、ティックの後にそれをリロードしたいと思います。問題は、グリッドにもグループがあるということです。したがって、2つのグループがあり、各グループに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
では、どうすればそれらを新しいウルトラグリッドに戻すことができますか?