私は、レポートを見ている人に応じて頻繁に変更される2つまたは3つの列を持つウルトラグリッドデータテーブルを持っています。フィルターを保存して、ステータス->支払い済み、日付->今日、ステータス->未送信をフィルターとして使用したい場合は、各フィールドを設定する代わりに、ワンクリックで事前に決定できるようにすることができるかどうか疑問に思いました。
質問する
3439 次
1 に答える
2
これは、UltraGrid レイアウトを保存することで実現できます。以下の例では、レイアウトをファイルに保存しますが、それを使用してデータベース レコードに保存することもできます。
PropertyCategories をいじってみてください。ただし、グリッドにデータを保存しないように注意してください。
private void btnSaveLayout_Click ( object sender, EventArgs e ) {
// show dialog to choose file
if ( saveFileDialog1.ShowDialog ( this ) == DialogResult.OK ) {
// open file stream
System.IO.FileStream fileLayout = new System.IO.FileStream ( saveFileDialog1.FileName, System.IO.FileMode.OpenOrCreate );
// reset position
fileLayout.Seek ( 0, System.IO.SeekOrigin.Begin );
// write layout
this.ultraGrid.DisplayLayout.Save ( fileLayout,
Infragistics.Win.UltraWinGrid.PropertyCategories.AppearanceCollection
| Infragistics.Win.UltraWinGrid.PropertyCategories.ColumnFilters
| Infragistics.Win.UltraWinGrid.PropertyCategories.Groups
| Infragistics.Win.UltraWinGrid.PropertyCategories.SortedColumns
| Infragistics.Win.UltraWinGrid.PropertyCategories.Summaries
| Infragistics.Win.UltraWinGrid.PropertyCategories.ColScrollRegions
);
// close stream
fileLayout.Close ();
}
}
private void btnLoadLayout_Click ( object sender, EventArgs e ) {
// show dialog to choose file
if ( openFileDialog1.ShowDialog ( this ) == DialogResult.OK ) {
// open file stream
System.IO.FileStream fileLayout = new System.IO.FileStream ( openFileDialog1.FileName, System.IO.FileMode.Open );
// reset position
fileLayout.Seek ( 0, System.IO.SeekOrigin.Begin );
// load layout
this.ultraGrid.DisplayLayout.Load ( fileLayout,
Infragistics.Win.UltraWinGrid.PropertyCategories.AppearanceCollection
| Infragistics.Win.UltraWinGrid.PropertyCategories.ColumnFilters
| Infragistics.Win.UltraWinGrid.PropertyCategories.Groups
| Infragistics.Win.UltraWinGrid.PropertyCategories.SortedColumns
| Infragistics.Win.UltraWinGrid.PropertyCategories.Summaries
| Infragistics.Win.UltraWinGrid.PropertyCategories.ColScrollRegions
);
// close stream
fileLayout.Close ();
}
}
レイアウトの保存をコミットする前に、グリッド内に実際にデータがあることを確認するために、SaveLayout メソッドをチェックすることも検討してください。
于 2012-12-13T20:31:36.497 に答える