程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C#發現之旅第六講 C#圖形開發中級篇(3)

C#發現之旅第六講 C#圖形開發中級篇(3)

編輯:關於C語言

FillDataTable

獲得DataTable後程序調用控件的 FillDataTable方法向控件填充數據。這個方法的代碼如下

/// <summary>
/// 根據一個DataTable 填充網格
/// </summary>
/// <param name="table">數據表對象</param>
public void FillDataTable( DataTable table )
{
  if( table == null )
     throw new ArgumentNullException("table");
   myDocument.Clear();
  CellRow row = new CellRow();
   myDocument.Add( row );
  foreach( DataColumn col in table.Columns )
  {
    row.Add( col.ColumnName );
  }
  foreach( DataRow drow in table.Rows )
  {
    row = new CellRow();
     foreach( DataColumn col in table.Columns )
    {
       object v = drow[ col ] ;
      string txt = "";
       if( v == null || DBNull.Value.Equals( v ))
        txt = "[NULL]";
      else
        txt = Convert.ToString( v );
      row.Add( txt );
    }
     myDocument.Add( row );
  }
  using( System.Drawing.Graphics g = this.CreateGraphics())
  {
    this.RefreshSize( g );
     this.Invalidate();
  }
  }

進入FillDataTable方法可以看到 程序是根據DataTable填充網格文檔對象 myDocument 。程序中實現了由Cell , CellRow 和 CellDocument 三種類型組成的網格文檔對象。

大家可以看看這三個類的代碼,它們 是相當簡單的。Cell 類定義了網格單元格對象,包括單元格顯示的文本,位置和大小等信息 。CellRow類定義了表格行對象,它本身也是單元格列表,可以添加單元格對象。 CellDocument定義了表格文檔對象,它本身是表格行列表,可以添加表格行,還提供Cells屬 性返回文檔中所有的單元格對象組成的數組。

我們回到FillDataTable 函數,首先是 清空文檔,然後遍歷DataTable的標題欄信息,生成網格文檔的第一行單元格,然後遍歷 DataTable所有的數據行對象,對每一個數據行新增一個表格行對象,然後添加到 myDocument 中。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved