DataTable练习

来源:互联网 发布:java php 比较 编辑:程序博客网 时间:2024/05/12 03:31

经常需要在内存中管理一些关联的数据。如果仅仅用变量来表示,感觉松散了一些;如果用数据库表示,又有些过分铺张。这个时候用DataTable就显得非常合适了。

 

 

1、建立DataTable

myTable = new DataTable();

 

//增加三个字段

 

myTable.Columns.Add("FirstName", typeof(string));

myTable.Columns.Add("LastName", typeof(string));

myTable.Columns.Add("Age", typeof(int));

 

//增加三条记录

 

myTable.Rows.Add("aaaa", "bbbb", 11);

myTable.Rows.Add("cccc", "dddd", 22);

myTable.Rows.Add("eeee", "ffff", 33);

 

 

//绑定到GridView

 

this.dataGridView1.DataSource = myTable; //.DefaultView;

 

//还有一种比较繁琐的定义字段方法

//DataColumn myColumn;

//myColumn = new DataColumn();

//myColumn.DataType = Type.GetType("System.String");

//myColumn.ColumnName = "FirstName";

//myTable.Columns.Add(myColumn);

 

 

2Looping through Datatable(遍历)

 

 

if (myTable == null)

{

    this.label1.Text = "no data in the table.";

    return;

}

 

this.label1.Text = "";

this.label2.Text = "";

this.label3.Text = "";

foreach (DataRow rw in myTable.Rows)

{

    this.label1.Text += " "+rw["FirstName"];

    this.label2.Text += " "+rw["LastName"];

    this.label3.Text += " "+rw["Age"];

}

 

//也可以用双重循环遍历

foreach (DataRow rw in myTable.Rows)

{

    foreach (DataColumn col in myTable.Columns)

    {

        this.label1.Text += " " + rw[col];

    }

}

 

 

3、编辑DataTable的内容

 

this.label4.Text = myTable.Rows[1].ItemArray[0].ToString();

this.label4.Text = myTable.Rows[1]["FirstName"].ToString();

this.label4.Text = myTable.Rows.Count.ToString();

 

//这样不行:

//this.label4.Text = myTable.Rows[1].FirstName;

 

 

 

4、传递DataTable

private void button3_Click(object sender, EventArgs e)

{

    DataTable yourTable;

    yourTable = getTable();

    this.dataGridView2.DataSource = yourTable;

}

 

private DataTable getTable()

{

    return myTable;

}

 

挺简单的,是不是?

 

 

原创粉丝点击