代码如下: DataTable dt = new DataTable("newTable");
dt.Columns.Add("编号", Type.GetType("System.String"));
dt.Columns.Add("值1", Type.GetType("System.String"));
dt.Columns.Add("值2", Type.GetType("System.String"));
dt.Columns.Add("值3", Type.GetType("System.String"));
dt.Columns.Add("值4", Type.GetType("System.String")); string sql = "select * from test order by Id";
SqlCommand cmd = new SqlCommand(sql, conn);
SqlDataReader sdr = cmd.ExecuteReader();
DataRow dr;
while (sdr.Read())
{
dr = dt.NewRow();
dr[0] = sdr["Id"].ToString();
dr[1] = sdr["value1"].ToString();
dr[2] = sdr["value2"].ToString();
dr[3] = sdr["value3"].ToString();
dr[4] = sdr["value4"].ToString();
dt.Rows.Add(dr);
}
dataGridView1.DataSource = dt;
dataGridView1.AutoGenerateColumns = true;
dataGridView1.Update(); 只生成网格,但是没有数据显示 为什么?
dt.Columns.Add("编号", Type.GetType("System.String"));
dt.Columns.Add("值1", Type.GetType("System.String"));
dt.Columns.Add("值2", Type.GetType("System.String"));
dt.Columns.Add("值3", Type.GetType("System.String"));
dt.Columns.Add("值4", Type.GetType("System.String")); string sql = "select * from test order by Id";
SqlCommand cmd = new SqlCommand(sql, conn);
SqlDataReader sdr = cmd.ExecuteReader();
DataRow dr;
while (sdr.Read())
{
dr = dt.NewRow();
dr[0] = sdr["Id"].ToString();
dr[1] = sdr["value1"].ToString();
dr[2] = sdr["value2"].ToString();
dr[3] = sdr["value3"].ToString();
dr[4] = sdr["value4"].ToString();
dt.Rows.Add(dr);
}
dataGridView1.DataSource = dt;
dataGridView1.AutoGenerateColumns = true;
dataGridView1.Update(); 只生成网格,但是没有数据显示 为什么?
后面现加这一句
AcceptChanges();
后面现加这一句
dt.AcceptChanges();
DataTable dt = ds.Tables[0].DefaultView.Table;
dataGridView1.DataSource = dt;这样就可以了,没有用Datareader那么麻烦
比如显示在网格中的一列等于记录集两列的之和
dataGridView1.DataSource = dtdataGridView1.DataBind();
dt.Columns.Add("编号", Type.GetType("System.String"));
dt.Columns.Add("值1", Type.GetType("System.String"));
dt.Columns.Add("值2", Type.GetType("System.String"));
dt.Columns.Add("值3", Type.GetType("System.String"));
dt.Columns.Add("值4", Type.GetType("System.String")); string sql = "select * from test order by Id";
string connstr = System.Web.Configuration.WebConfigurationManager.ConnectionStrings["SqlConnectionString"].ConnectionString;
using(SqlConnection conn = new SqlConnection(connstr))
{
SqlCommand cmd = new SqlCommand(sql, conn);
conn.Open();
SqlDataReader sdr = cmd.ExecuteReader();
DataRow dr;
while (sdr.Read())
{
dr = dt.NewRow();
dr[0] = sdr["Id"].ToString();
dr[1] = sdr["value1"].ToString();
dr[2] = sdr["value2"].ToString();
dr[3] = sdr["value3"].ToString();
dr[4] = sdr["value4"].ToString();
dt.Rows.Add(dr);
}
conn.Close();
}
dataGridView1.DataSource = dt;
dataGridView1.Bind();
是datagridview1.DataBind();