Gridview不显示sqldatasource后面代码的数据

本文关键字:代码 数据 显示 sqldatasource Gridview | 更新日期: 2023-09-27 18:07:01

我有gridview及其与数据源绑定,这是在文件后面的代码中创建的。我需要以最简单的方式启用排序和分页,所以我这样写:

在按钮的点击事件

SqlDataSource dataSource = new SqlDataSource(ConfigurationManager.ConnectionStrings["connstr"].ConnectionString, searchQuery);
        dataSource.SelectCommandType = SqlDataSourceCommandType.Text;
        dataSource.SelectCommand = searchQuery;
        if (txtSearchQuery.Text != "")
        {
            dataSource.SelectParameters.Add("searchQuery", txtSearchQuery.Text);
        }
        gridBookings.DataSourceID = dataSource.ID;

然而,当按钮被点击时,gridview没有填充数据。什么好主意吗?

Gridview不显示sqldatasource后面代码的数据

你忘了在网格上调用DataBind:

gridBookings.DataBind();

你必须绑定

...
gridBookings.DataSourceID = dataSource.ID;
gridBookings.DataBind();

虽然我更喜欢这种方法

...
gridBookings.DataSource = dataSource;
gridBookings.DataBind();

如果不看到整个页面的标记和代码,很难说

通常,在关联数据源之后,您还应该调用:

gridBookings.DataBind();