using System;
using System.Collections.Generic;
using System.Drawing;
using System.Windows.Forms;
using System.Data;
namespace datatabledemo
{
/// <summary>
/// Description of MainForm.
/// </summary>
public partial class MainForm : Form
{
DataTable dt = new DataTable("mytable1");
public MainForm()
{
//
// The InitializeComponent() call is required for Windows Forms designer support.
//
InitializeComponent();
//
// TODO: Add constructor code after the InitializeComponent() call.
//
dt.Columns.Add("name", System.Type.GetType("System.String"));
DataColumn dc = new DataColumn("count",System.Type.GetType("System.Int32"));
dt.Columns.Add(dc);
dt.Columns.Add("intime", System.Type.GetType("System.DateTime"));
dt.Rows.Add("张三",10000, DateTime.Now);
dt.Rows.Add("李四",10999, DateTime.Now);
dt.Rows.Add("聂二",99009, DateTime.Now);
dt.Rows.Add("王三",99999, DateTime.Now);
//通过复制dt表的某一行来创建
dt.Rows.Add(dt.Rows[0].ItemArray);
dataGridView1.DataSource = dt;
}
void Button1Click(object sender, EventArgs e)
{
DataRow[] drs = dt.Select("name = '张三'");
DataTable dt1=new DataTable();
dt1.Columns.Add("name", System.Type.GetType("System.String"));
dt1.Columns.Add("count", System.Type.GetType("System.Int32"));
dt1.Columns.Add("intime", System.Type.GetType("System.DateTime"));
for(int i=0;i<drs.Length;i++)
{
//dt1.Rows.Add(drs[i]);
dt1.Rows.Add(drs[i].ItemArray);
}
dataGridView2.DataSource = dt1;
}
void Button2Click(object sender, EventArgs e)
{
DataTable dt1=new DataTable();
dt1=dt.Copy();//同时复制架构和数据到dt1
dt1.Clear(); //清空数据
DataRow[] drs = dt.Select("name like '%三%'");
for(int i=0;i<drs.Length;i++)
{
//dt1.Rows.Add(drs[i]);
dt1.Rows.Add(drs[i].ItemArray);
}
dataGridView2.DataSource = dt1;
}
}
}
使用SharpDevelop;代码比较好理解;
窗体启动添加列,行;
button1,筛选行,赋给新的DataTable;
button2, 模糊查询,通过copy创建新的DataTable;
有一些写法,如 dt1.Rows.Add(drs[i].ItemArray) 等,自己看代码;
初始;
按下button1;
按下button2;