2017-04-03 9 views
1

私はC#プロジェクトを持っていますが、このプロジェクト内には超格子付きのダイアログがあります。グリッドには3つのグループがあり、各グループには4つ以上の列があります。 Columns of the UltragridUltraGrid VisiblePositionは列が移動したときに変更されません

私は列を移動して列の順序を変更できます。すべてうまく動作します。最後に、私は、列が隠されている場合は、列の定義を保存したい、そして列の位置。

私は列のリストを繰り返し、column.Hiddenプロパティとcolumn.Header.VisiblePositionプロパティを保存します。問題は、visiblePositionの値が、UIで表示されるグリッド内の位置と一致しないことです。

一部の列を左右に移動しましたが、visiblePositionは先頭と同じです。 UIには各列の正しい順序が示され、列の位置は変更されましたが、プロパティの値は変更されませんでした。

多分私はcolumnGroupsを使用しているので問題があります。

はUltraWinGridは、この種の問題を解決するには、2つの方法があります

答えて

3

ありがとうございます。
これらは、DisplayLayoutクラスのSaveAsXmlLoadFromXmlです。

グリッドのレイアウトの保存と復元に使用できます。
グリッドのInitializeLayoutイベントで、あなたの特定に応じて、

public void LoadLayout(UltraGrid grd, string layoutFile) 
{ 
    if (File.Exists(layoutFile)) 
     grd.DisplayLayout.LoadFromXml(layoutFile, PropertyCategories.All); 
} 

でレイアウトを復元することもできますがたとえば、フォームの処分イベントであなたが

public void SaveLayout(UltraGrid grd, string layoutFile) 
{ 
    if (grd.DataSource != null) 
     grd.DisplayLayout.SaveAsXml(layoutFile, PropertyCategories.All); 
} 

に呼び出しを追加することができますがPropertyCategories列挙型を微調整して、保存/復元するプロパティーグループのみを選択する必要があります。

関連する問題