asp.net ASP Gridview -显示按钮或文本的列

brccelvz  于 2022-11-19  发布在  .NET
关注(0)|答案(2)|浏览(224)

我有一个工作起来像时间表的网格视图。在网格视图中有3列。
列如下
1.从
1.蒂尔
1.保留
我想在保留栏上有一个按钮,只要位置是空的。如果位置被占用,我想显示一些文本代替。目前我使用的是下方标记

<asp:TemplateField HeaderText="Kranbeladung - Crane loading">
    <ItemTemplate>
       <asp:Button ID="rBtn" runat="server" Text="Reservate" />
    </ItemTemplate>
</asp:TemplateField>

你知道我该怎么做吗?谢谢

6mzjoqzu

6mzjoqzu1#

格雷格的答案是伟大的,但我不得不做一些改变。与他的代码,我得到了这个在我的页面:

System.Web.UI.WebControls.Button

而不是控件本身。
为了工作,我返回了控件的HTML,如下所示:

protected string CheckAvailability(object obj)
    {
        //some logic
        return "<asp:Button runat='server'>ButtonText</asp:Button>";
    }
kx5bkwkv

kx5bkwkv2#

由于您有触发器,因此您将有一个测试列的方法。然后根据结果填充。以下是您的网格中的内容。

<asp:TemplateField HeaderText="...">
     <ItemTemplate>
          <%# CheckAvailability(Eval("Column")) %>
     </ItemTemplate>
</asp:TemplateField>

然后,您将在代码后执行以下操作:

protected Control CheckAvailability(object flag)
{
     if(flag != null)
     {
          // Create a button, then return it.
     }

     else 
     {
          // Create a label, say space available and return.
     }
}

相关问题