使用数据集在GridView中显示数据

时间:2010-08-18 12:28:10

标签: data-binding ado.net asp.net-ajax

我正在尝试向ASP.NET应用程序显示数据集。似乎当我单击按钮事件时,数据不会显示在网格中。

我有一个基本页面,其中包含以下内容:

<form id="form1" runat="server">
     <asp:ScriptManager ID="ScriptManager1" runat="server" />
        <asp:UpdatePanel runat="server" id="UpdatePanel" updatemode="Conditional">
            <ContentTemplate>
                <asp:GridView ID="GridView1" runat="server" Width="200" Height="300">
                </asp:GridView>
                <asp:Button runat="server" id="UpdateButton1" onclick="UpdateButton_Click" text="Update" />               
            </ContentTemplate>
        </asp:UpdatePanel>

    </form>

然后在后面的代码中,我有以下内容:

protected void UpdateButton_Click(object sender, EventArgs e)
        {
            string SQLConfigSettings = ConfigurationManager.ConnectionStrings["ApplicationServices"].ConnectionString;
            SqlConnection sqlconn = new SqlConnection(SQLConfigSettings);

            sqlconn.Open();

            SqlDataAdapter adapter = new SqlDataAdapter("Select * from Student", sqlconn);

            DataSet ds = new DataSet();
            adapter.Fill(ds);

            GridView1.DataSource = ds;
            UpdatePanel.Update();

        }

我错过了什么吗? Shoudlnt数据集是否在网格中显示? 当我点击按钮时没有任何反应。

谢谢:)

3 个答案:

答案 0 :(得分:1)

您需要添加

GridView1.DataBind()之后

Gridview1.DataSource

所以它变成了:

...
          DataSet ds = new DataSet();
            adapter.Fill(ds);

            GridView1.DataSource = ds;
            GridView1.DataBind();
            UpdatePanel.Update();

如果您需要有关.DataBind方法的更多信息,请选中MSDN on it

答案 1 :(得分:0)

GridView1.DataSource = ds; 

尝试提及数据集内的表格。像ds.Tables [0]或者如果你知道表的名称ds.Tables [“table_name”]

答案 2 :(得分:0)

UpdateButton_Click的第一行代码上放置一个断点并运行它。

那个断点到了吗?

在此之后逐步执行每行代码并检查变量值。 DataSet被填满了吗?你能看到DataTable及其DataRows吗?

如果您到达此事件代码并拥有数据,则需要查看数据绑定。在设置GridView.DataBind()之后和执行DataSource之前,您需要立即UpdatePanel.Update()。然后你应该好好去。