這次在撰寫需求程式時,遇到一個狀況      
就是我希望在UI的DataGridView控制項上       
顯示我自訂的Table資料       
可是這個Table中,我也希望能同時將其餘的資訊也保留進來       
只是顯示的時候只顯示我要的欄位       
      
這樣說好像有點模糊,譬如以下圖示             
我希望的是當我顯示Document Name的時候      
也同時將Document的所有相關資訊,存進這個自訂的Table       
(每一個DataRow代表不同的Document資訊)       
以方便讓我的程式去做資料的讀取       
(DataGridView顯示方式,是去指定DataGridView.DataSource屬性)       
      
其實,每個DataRow的Cell可以存放物件       
不單單只可以存放字串       
只是要注意的是,若要在DataGridView上顯示       
必須要overrride ToString()這個Method       
      
再這裡我自訂一個QVFDocInfo Class,然後override ToString()       
      
這樣就可以在我指定DataSource時,只秀出我要的字串      
也同時將我的自訂物件存進DataTable裡。      
      
public class QVFDocInfo
{
  private string docName;
public string DocName
  {
      get { return docName.Replace("_",""); }            
  }
private string obid;
public string Obid
  {
      get { return obid; }
  }
private string latestorAll;
public string LatestorAll
  {
      set { latestorAll = value; 
  }
  get { return latestorAll; }            
  }
  #region Constructor
  public QVFDocInfo(string docName, string obid)
  {
      this.docName = docName;
      this.obid = obid;
  }
public QVFDocInfo(string docName, string obid,string LatestorAll)
  {
      this.docName = docName;
      this.obid = obid;
      this.latestorAll = LatestorAll;
  }
  #endregion        
  public override string ToString()
  {  
  return docName.Replace("_","");
}
}
 
沒有留言:
張貼留言