diff --git a/Import/GacUI.cpp b/Import/GacUI.cpp index e0b26b1e..0720cd67 100644 --- a/Import/GacUI.cpp +++ b/Import/GacUI.cpp @@ -7420,6 +7420,18 @@ GuiVirtualDataGrid (Editor) } } + void GuiVirtualDataGrid::OnStyleInstalled(vint index, ItemStyle* style) + { + GuiVirtualListView::OnStyleInstalled(index, style); + if (auto itemStyle = dynamic_cast(style)) + { + if (selectedCell.row == index && selectedCell.column != -1) + { + itemStyle->NotifySelectCell(selectedCell.column); + } + } + } + void GuiVirtualDataGrid::OnStyleUninstalled(ItemStyle* style) { GuiVirtualListView::OnStyleUninstalled(style); diff --git a/Import/GacUI.h b/Import/GacUI.h index 37c67890..0297ebdc 100644 --- a/Import/GacUI.h +++ b/Import/GacUI.h @@ -17700,6 +17700,7 @@ GuiVirtualDataGrid compositions::IGuiAltActionHost* GetActivatingAltHost()override; void OnItemModified(vint start, vint count, vint newCount)override; + void OnStyleInstalled(vint index, ItemStyle* style)override; void OnStyleUninstalled(ItemStyle* style)override; void NotifyCloseEditor(); diff --git a/SampleForDoc/GacUI/UIRes/32bits/control_datagrid_base.bin b/SampleForDoc/GacUI/UIRes/32bits/control_datagrid_base.bin index 24b03cb0..e01763f3 100644 Binary files a/SampleForDoc/GacUI/UIRes/32bits/control_datagrid_base.bin and b/SampleForDoc/GacUI/UIRes/32bits/control_datagrid_base.bin differ diff --git a/SampleForDoc/GacUI/UIRes/32bits/control_datagrid_plaintext.bin b/SampleForDoc/GacUI/UIRes/32bits/control_datagrid_plaintext.bin index fde764e6..fe708d2e 100644 Binary files a/SampleForDoc/GacUI/UIRes/32bits/control_datagrid_plaintext.bin and b/SampleForDoc/GacUI/UIRes/32bits/control_datagrid_plaintext.bin differ diff --git a/SampleForDoc/GacUI/UIRes/64bits/control_datagrid_base.bin b/SampleForDoc/GacUI/UIRes/64bits/control_datagrid_base.bin index 434cafec..6895efe0 100644 Binary files a/SampleForDoc/GacUI/UIRes/64bits/control_datagrid_base.bin and b/SampleForDoc/GacUI/UIRes/64bits/control_datagrid_base.bin differ diff --git a/SampleForDoc/GacUI/UIRes/64bits/control_datagrid_plaintext.bin b/SampleForDoc/GacUI/UIRes/64bits/control_datagrid_plaintext.bin index 40616eb9..3f1cdd23 100644 Binary files a/SampleForDoc/GacUI/UIRes/64bits/control_datagrid_plaintext.bin and b/SampleForDoc/GacUI/UIRes/64bits/control_datagrid_plaintext.bin differ diff --git a/SampleForDoc/GacUI/XmlRes/control_datagrid_base/Resource.xml b/SampleForDoc/GacUI/XmlRes/control_datagrid_base/Resource.xml index 9d2e8b91..dc418cb4 100644 --- a/SampleForDoc/GacUI/XmlRes/control_datagrid_base/Resource.xml +++ b/SampleForDoc/GacUI/XmlRes/control_datagrid_base/Resource.xml @@ -43,7 +43,7 @@ @cpp:Private var books: observe BookItem^[] = {}; @cpp:Private - var lastSelectedItem: int = -1; + var lastSelectedCell: GridPos = {row:-1 column:-1}; @cpp:Private var iconBook16: ImageData^ = null; @@ -70,7 +70,6 @@ self.iconOpen16 = cast (ImageData^) self.ResolveResource("res", "Open16.png", true); self.iconOpen32 = cast (ImageData^) self.ResolveResource("res", "Open32.png", true); - for (i in range [0, 24)) { var book = new BookItem^(); @@ -115,29 +114,33 @@ <_>1 - + ]]>