1
我有一個ultragrid數據表,有兩個或三個列,這些列會根據誰在查看報告而經常更改。我想知道是否可以存儲過濾器,以便如果一個人想要狀態 - >付費,日期 - >今天,狀態 - >未發送作爲過濾器,它可能是預定義的一次點擊而不是設置每個字段?UltraGrid表格過濾:我可以存儲和調用數據庫的過濾器設置嗎?
我有一個ultragrid數據表,有兩個或三個列,這些列會根據誰在查看報告而經常更改。我想知道是否可以存儲過濾器,以便如果一個人想要狀態 - >付費,日期 - >今天,狀態 - >未發送作爲過濾器,它可能是預定義的一次點擊而不是設置每個字段?UltraGrid表格過濾:我可以存儲和調用數據庫的過濾器設置嗎?
您可以通過保存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方法,以確保在提交佈局保存前確實存在網格內的任何數據。