我有代码,从DataTable填充Datagridview:
public void dataGridClientsLoad()
{
DataTable dt = new DataTable();
dt = serviceSqlite.select(new Pacients());
dataGridView1.DataSource = dt;
//dataGridView2.Update();
//dataGridView2.Refresh();
label1.Text = "Все" + updateCountRows();
}
在dt
对象中,我得到了填充的行和列(参见图1,图2)。
但结果是,在调用dataGridClientsLoad()
之后我有空的DataGridView,为什么?
ServiceSqlite 是:
class SqliteService : ArraySelect
{
public SQLiteDatabase driver;
public SqliteService() {
SqliteConnection(new SQLiteDatabase());
}
public void SqliteConnection(SQLiteDatabase driver)
{
this.driver = driver;
}
public DataTable select(ISqlite select)
{
return select.select(driver);
}
}
答案 0 :(得分:2)
在将数据源设置为网格视图后,您需要使用DataBind() -
dataGridView1.DataBind();
将数据源绑定到GridView控件。此方法无法继承。
使用DataBind()方法将数据从数据源绑定到GridView控件。此方法解析control.refer MSDN
的活动模板中的所有数据绑定表达式public void dataGridClientsLoad()
{
DataTable dt = new DataTable();
dt = serviceSqlite.select(new Pacients());
dataGridView1.DataSource = dt;
dataGridView1.DataBind();//This require to bind data table.
label1.Text = "Все" + updateCountRows();
}