将方法绑定到gridview

时间:2013-05-30 13:16:38

标签: c# asp.net gridview

我无法将方法绑定到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();
    }
}

2 个答案:

答案 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");

因此它是空白的

此链接也非常有用http://support.microsoft.com/kb/314145