GcMultiRow.TogglePinnedRowsメソッドに行の配列を渡すことで、任意の行の内容を先頭行へ固定し表示できます。
コンテキストメニューを利用することで、ユーザーが任意に行の固定を利用することもできます。
Dim menu = New ContextMenuStrip()
menu.Items.AddRange(New ToolStripItem() {New ToolStripMenuItem("行の固定/固定の解除")})
gcMultiRow1.ContextMenuStrip = menu
AddHandler Me.gcMultiRow1.CellMouseDown,
Sub(s, ea)
If ea.RowIndex < 0 Then
End
End If
currentClickedRow = gcMultiRow1.Rows(ea.RowIndex)
End Sub
AddHandler menu.ItemClicked,
Sub(s, ea)
If currentClickedRow IsNot Nothing Then
gcMultiRow1.TogglePinnedRows(New Integer() { currentClickedRow.Index })
End If
End Sub
var menu = new ContextMenuStrip();
menu.Items.AddRange(new ToolStripItem[] { new ToolStripMenuItem("行の固定/固定の解除") });
gcMultiRow1.ContextMenuStrip = menu;
gcMultiRow1.CellMouseDown += (s, ea) =>
{
if (ea.RowIndex < 0)
{
return;
}
this.currentClickedRow = this.gcMultiRow1.Rows[ea.RowIndex];
};
menu.ItemClicked += (s, ea) =>
{
if (this.currentClickedRow != null)
{
this.gcMultiRow1.TogglePinnedRows(new int[] { this.currentClickedRow.Index });
}
};