移动列时 UltraGrid VisiblePosition 不会更改
UltraGrid VisiblePosition not change when column moved
我有一个 c# 项目,在这个项目中我有一个与 ultragrid 的对话。网格有 3 组,每组有 4 列以上。 Columns of the Ultragrid
我可以移动列并更改列的顺序。一切正常。最后我想保存列的定义,如果列是隐藏的和列的位置。
我遍历列列表并保存 column.Hidden 属性 和 column.Header.VisiblePosition 属性。问题是 visiblePosition 值与您在 UI.
中看到的网格中的位置不匹配
我左右移动了一些列,但是visiblePosition还是和开始的一样。 UI 显示每列的正确顺序并且列位置已更改但 属性 的值没有更改。
也许问题存在是因为我使用了 columnGroups。
谢谢
UltraWinGrid 有两种方法可以解决这类问题。
它们是 SaveAsXml
和 LoadFromXml
来自 DisplayLayout
class.
您可以使用它们来保存和恢复您的网格布局。
例如,在表单的 Dispose 事件中,您可以添加对
的调用
public void SaveLayout(UltraGrid grd, string layoutFile)
{
if (grd.DataSource != null)
grd.DisplayLayout.SaveAsXml(layoutFile, PropertyCategories.All);
}
在网格的 InitializeLayout
事件中,您可以使用
恢复布局
public void LoadLayout(UltraGrid grd, string layoutFile)
{
if (File.Exists(layoutFile))
grd.DisplayLayout.LoadFromXml(layoutFile, PropertyCategories.All);
}
根据您的具体需要,您可以微调 PropertyCategories 枚举以仅选择您想要 save/restore.
的 属性 组
我有一个 c# 项目,在这个项目中我有一个与 ultragrid 的对话。网格有 3 组,每组有 4 列以上。 Columns of the Ultragrid
我可以移动列并更改列的顺序。一切正常。最后我想保存列的定义,如果列是隐藏的和列的位置。
我遍历列列表并保存 column.Hidden 属性 和 column.Header.VisiblePosition 属性。问题是 visiblePosition 值与您在 UI.
中看到的网格中的位置不匹配我左右移动了一些列,但是visiblePosition还是和开始的一样。 UI 显示每列的正确顺序并且列位置已更改但 属性 的值没有更改。
也许问题存在是因为我使用了 columnGroups。
谢谢
UltraWinGrid 有两种方法可以解决这类问题。
它们是 SaveAsXml
和 LoadFromXml
来自 DisplayLayout
class.
您可以使用它们来保存和恢复您的网格布局。
例如,在表单的 Dispose 事件中,您可以添加对
public void SaveLayout(UltraGrid grd, string layoutFile)
{
if (grd.DataSource != null)
grd.DisplayLayout.SaveAsXml(layoutFile, PropertyCategories.All);
}
在网格的 InitializeLayout
事件中,您可以使用
public void LoadLayout(UltraGrid grd, string layoutFile)
{
if (File.Exists(layoutFile))
grd.DisplayLayout.LoadFromXml(layoutFile, PropertyCategories.All);
}
根据您的具体需要,您可以微调 PropertyCategories 枚举以仅选择您想要 save/restore.
的 属性 组