2012-12-13 66 views

回答

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方法,以確保在提交佈局保存前確實存在網格內的任何數據。

相關問題