基本上我想要一些下拉列表作为gridview的过滤器。当没有gridview项目与所选过滤器匹配时,它将显示一条消息,表明没有项目与您的搜索匹配(并显示下拉列表值)。我知道我可以从后面的代码中完成这个,但我只是想知道这样的事情是否可行。感谢
<asp:gridview id="gv" runat="server" EmptyDataText="<%# "no items match" & dropdownlist.selectedvalue &"stuff" %>"
答案 0 :(得分:0)
您需要将页面修改为如此(添加emptyDataTemplate和Label)
<asp:GridView ID="gv" runat="server"
DataBindingComplete="gv_DataBindingComplete"
OnPreRender="gv_PreRender">
<EmptyDataTemplate>
<asp:Label runat="server" ID="lbInfo" /></EmptyDataTemplate>
</asp:GridView>
并在您的代码中使用此
protected void gv_PreRender(object sender, EventArgs e)
{
if (gv.Rows.Count==0)
{
lbInfo.Text = "no items match " + ddlTest.SelectedItem + " stuff";
}
}
答案 1 :(得分:0)
另一种解决方案:
<asp:GridView ID="gv" runat="server">
<EmptyDataTemplate>
<asp:Label ID="Label1" runat="server" Text='<%#EmptyData() %>' />
</EmptyDataTemplate>
</asp:GridView>
后面的代码:
protected string EmptyData()
{
if (gv.Rows.Count == 0)
{
return "no items match" & dropdownlist.selectedvalue & "stuff";
}
return string.Empty;
}