我无法将方法绑定到gridview,有人可以帮忙吗?
基本上,我在getAllPatients method
返回一个数据集,然后将其传递给asp.net页面。当我去加载页面时没有任何事情发生。
这是我的方法:
public DataSet GetAllPatients()
{
//create objects
SqlConnection conn = null;
SqlDataAdapter da = null;
DataSet ds = null;
string sql = string.Empty;
//create sql string
sql = "SELECT * FROM GP_Patient";
//create connection
conn = new SqlConnection(ConfigurationManager.ConnectionStrings["GPConn"].ConnectionString);
try
{
//create Data adapter
da = new SqlDataAdapter(sql, conn);
//fill dataset using data adapter
da.Fill(ds, "Patients");
}
catch
{
//don't do anything special, just let .Net handle it
}
finally
{
// close connection and release data adapter
if (conn != null)
{
conn.Close();
da.Dispose();
}
}
//output the dataset
return ds;
}
这是我的代码隐藏:
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
//create object
Patient ptn = new Patient();
//set datasource of control to objects method
gridview1.DataSource = ptn.GetAllPatients();
//bind
gridview1.DataBind();
}
}
答案 0 :(得分:1)
刚设置:
gridView1.DataMember = "Patients";
你仍然可以返回完整的集合(稍后你可能会有更多的表,对吗?)然后让DataMember指示哪些显示在网格中。
答案 1 :(得分:0)
我已经找到了这个问题,感谢我在SHU的讲师。
问题是我正在创建dataAdapter:
//create Data adapter
da = new SqlDataAdapter(sql, conn);
但是没有创建数据集,就像我应该在这里:
//create Data Set
ds = new DataSet("patients");
因此它是空白的