public partial class Form2 : Form
{
DataTable MyDataTable;
public Form2()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
MyDataTable = new DataTable();
MyDataTable.Columns.Add("id", typeof(int));
MyDataTable.Columns.Add("name", typeof(string));
MyDataTable.Rows.Add(1, "a");
MyDataTable.Rows.Add(2, "b");
MyDataTable.Rows.Add(3, "c");
textBox1.DataBindings.Add("text", MyDataTable, "id");
dataGridView1.DataSource = MyDataTable;
}
private void button2_Click(object sender, EventArgs e)
{
MyDataTable = new DataTable();
MyDataTable.Columns.Add("field1", typeof(int));
MyDataTable.Columns.Add("fiedl2", typeof(string));
MyDataTable.Rows.Add(1, "x");
MyDataTable.Rows.Add(2, "y");
MyDataTable.Rows.Add(3, "z");
MyDataTable.AcceptChanges();
textBox2.DataBindings.Add("text", MyDataTable, "field1");
dataGridView2.DataSource = MyDataTable;
}
}
点button1时,新建datatable,并绑定。绑定到textbox1, datagridview1
在点button2, 建一个同名的datatable,绑定到textbox2, datagridview2
原来的datagridview1的数据还是存在,就是说现在系统中同时存在两个datatable的数据?原来的datatable资源没有释放?
如果程序中重复这样的动作(如搜索数据,adapter fill 数据一个datatable中),岂不是系统会越用越慢?
3 个解决方案
#1
应该没事的,你new的不是同一个DataTable MyDataTable吗??
而且不是有GC(垃圾回收机制)吗??
而且不是有GC(垃圾回收机制)吗??
#2
DataTable这种托管资源不用你费心,你就扔那就行了,.NET 框架替你干活了.
你要关心的是数据库连接,网络链接,Stream等.
你要关心的是数据库连接,网络链接,Stream等.
#3
友情UP
#1
应该没事的,你new的不是同一个DataTable MyDataTable吗??
而且不是有GC(垃圾回收机制)吗??
而且不是有GC(垃圾回收机制)吗??
#2
DataTable这种托管资源不用你费心,你就扔那就行了,.NET 框架替你干活了.
你要关心的是数据库连接,网络链接,Stream等.
你要关心的是数据库连接,网络链接,Stream等.
#3
友情UP