0

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

2 回答 2

1

只需设置:

gridView1.DataMember = "Patients";

您仍然可以返回完整集(以后可能会有更多表,对吗?),只需让 DataMember 指示在网格中显示哪些。

于 2013-05-30T13:27:38.337 回答
0

感谢我在 SHU 的讲师,我发现了这个问题。

问题是我正在创建dataAdapter:

 //create Data adapter
            da = new SqlDataAdapter(sql, conn);

但是没有像我在这里应该创建数据集:

 //create Data Set
        ds = new DataSet("patients");

因此它是空白的

这个链接也很有用http://support.microsoft.com/kb/314145

于 2013-06-03T09:37:42.947 回答