2012-09-09 54 views
3
mySqlCnnection.Open(); 
string list = "select * from login"; 
MySqlDataAdapter dataadapter = new MySqlDataAdapter(list, mySqlCnnection); 
DataSet ds = new DataSet(); 
dataadapter.Fill(ds, "login"); 
dataGridView1.DataSource =ds.Tables[0]; 

我想显示一个DataGridView整个登录表的数据,但我得到一个空的窗口小部件?一些人能讨好?如何在c#中将表格数据显示到datagridview中?

回答

1

分配数据源后,呼叫DataBind()

+0

什么目的,我们将调用DataBind()? – user1610299

+0

在'Page'对象上调用它是最佳实践。 – driis

+0

如何在我的代码中调用dataBind()方法? – user1610299

1

尝试使用,而不是使用DataSet来填充数据的DataTable。或者检查你的sql连接。

+0

数据表,我也试过相同的结果.. – user1610299

+0

再次检查您的连接字符串...是您的代码连接数据库?.. – hienvd

1

你在哪里使用这种代码。你正在使用它?试试on_load事件。 使用默认视图,然后使用DataBind()方法绑定数据。

dataGridView1.DataSource = ds.Tables [0] .DefaultView;

dataGridView1.DataBind();

0

您的代码:

mySqlCnnection.Open(); 
    string list = "select * from login"; 
    MySqlDataAdapter dataadapter = new MySqlDataAdapter(list, mySqlCnnection); 
    DataSet ds = new DataSet(); 
    dataadapter.Fill(ds, "login"); 
    dataGridView1.DataSource =ds.Tables[0]; 

并在下一行...

dataGridView1.Databind(); 

丑陋虽然。

0

尽量使用绑定来源作为数据网格的数据源。

var bindingSource = new System.Windows.Forms.BindingSource(); 
bindingSource.DataSource = ds.Tables[0]; 
dataGridView1.DataSource = bindingSource; 
-1
string list = "select * from login"; 
SqlCommand command = new SqlCommand(list , db.connect()); 

SqlDataReader reader = command.ExecuteReader(); 
DataTable dt = new DataTable(); 
dt.Load(reader); 
dataGridView1.DataSource=dt; 
相关问题