gpt4 book ai didi

asp.net - 带有 ObjectDataSource 的 GridView 在空数据上显示页脚

转载 作者:行者123 更新时间:2023-12-02 03:47:44 26 4
gpt4 key购买 nike

GridView 中没有ShowFooterWhenEmpty 属性;(

当我不使用 ObjectDataSource 进行数据绑定(bind)时,它非常简单:

...
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
DataTable data = new DataTable();
conn.Open();
adapter.Fill(data);
conn.Close();

if (data.Rows.Count > 0)
{
grid.DataSource = data;
grid.DataBind();
}
else
{
data.Rows.Add(data.NewRow());
grid.DataSource = data;
grid.DataBind();

int TotalColumns = grid.Rows[0].Cells.Count;
grid.Rows[0].Cells.Clear();
grid.Rows[0].Cells.Add(new TableCell());
grid.Rows[0].Cells[0].ColumnSpan = TotalColumns;
grid.Rows[0].Cells[0].Text = "No Records Found";
}
...

Page_Load() if (!IsPostBack) {...} 调用

现在ObjectDataSource代表自动绑定(bind)和分页。

我应该如何呈现插入按钮所在的页脚?

尝试了 ObjectDataSourceOnSelected 事件,但我不知道如何在其中添加一行。

protected void ODS_Selected(object sender, ObjectDataSourceStatusEventArgs e)
{
DataSet ds = e.ReturnValue as DataSet;
// Add empty row here or 'No Records Found' string to force Footer show
}

请帮忙!

最佳答案

如您所知,当 GridView 为空(无行)时,页脚不会显示。解决方法是确保在不存在真实数据时从 ObjectDataSource 返回一个虚拟行。

我建议检查 GridView DataBound 事件中的行数,如果没有,则修改 ObjectDataSource 的 SelectMethod 以返回虚拟数据的虚拟行,然后重新绑定(bind) gridview。虚拟数据的示例可能是:

ID : null
Name : 'No data, please add using form below' ...etc...
Description : null
...
etc
...

GridView 将在重新绑定(bind)后显示页脚。

关于asp.net - 带有 ObjectDataSource 的 GridView 在空数据上显示页脚,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15861001/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com