2007年4月27日 星期五

手動建立 DataTable

//手動產生一個DataSet資料
public DataSet getData2DataSet()
{
DataSet ds = new DataSet();
DataTable dt = new DataTable("supplier");
DataRow dr;

//先訂出DataTable欄位
dt.Columns.Add(new DataColumn("supplier_uniqueno", typeof(string))); //統一編號
dt.Columns.Add(new DataColumn("supplier_name", typeof(string))); //公司名稱
dt.Columns.Add(new DataColumn("supplier_chief", typeof(string))); //負責人
dt.Columns.Add(new DataColumn("supplier_employee", typeof(int))); //公司人數

//新增一筆DataRow資料, 從畫面上取得DataRow的值
dr = dt.NewRow();
dr["supplier_uniqueno"] = txtSupplier_uniqueno.Text;
dr["supplier_name"] = txtSupplier_name.Text;
dr["supplier_chief"] = txtSupplier_chief.Text;
dr["supplier_employee"] = int.Parse(txtSupplier_employee.Text);

dt.Rows.Add(dr); //將資料新增到DataTable

ds.Tables.Add(dt); //將DataTable資料新增到DataSet
return ds;
}

//以下這段是別人寫的, 好像有問題

private void CalcColumns()
{
DataTable table = new DataTable ();

// Create the first column.
DataColumn unitPriceColumn = new DataColumn();
priceColumn.DataType = System.Type.GetType("System.Decimal");
priceColumn.ColumnName = "UnitPrice";
priceColumn.DefaultValue = 3;

// Create the second, calculated, column.
DataColumn amountColumn = new DataColumn();
taxColumn.DataType = System.Type.GetType("System.Decimal");
taxColumn.ColumnName = "Amount";
priceColumn.DefaultValue = 10;

// Create third column.
DataColumn qtyColumn = new DataColumn();
totalColumn.DataType = System.Type.GetType("System.Decimal");
totalColumn.ColumnName = "Qty";
totalColumn.Expression = "Amount/UnitPrice";

// Add columns to DataTable.
table.Columns.Add(unitPriceColumn );
table.Columns.Add(amountColumn );
table.Columns.Add(qtyColumn);

DataRow row = table.NewRow();
table.Rows.Add(row);
DataView view = new DataView(table);
dataGrid1.DataSource = view;
}

沒有留言: