繁体   English   中英

在gridview列中仅制作某些单元格链接按钮

[英]Making only certain cells in a gridview column linkbuttons

我有一个gridview从数据库中提取数据:

在此处输入图片说明

我不希望将任务中的内容设置为链接按钮,而可以单击该链接按钮以显示带有其他信息的弹出窗口。

当我使列链接按钮时,它也使总计:和小计:链接按钮: 在此处输入图片说明

            <asp:TemplateField HeaderText="Task" ItemStyle-Width="20%">
                <ItemTemplate>
                    <asp:LinkButton ID="taskLinkButton" runat="server"
                        Text='<%# Eval("Task")%>'>
                    </asp:LinkButton>
                </ItemTemplate>
            </asp:TemplateField>

如何防止这些特定的行成为链接按钮?

有点脏,但这应该可以解决问题:

因此,我无法在<%%>内调用Databinder.Eval,我不确定是否确实可行,所以我选择了另一种解决方案。 以下对我有用(甚至比上一个版本还短):

<asp:TemplateField>
    <ItemTemplate>
            <asp:LinkButton Text='<%# Eval("task") %>' Visible='<%# Eval("incidentN") != null %>' runat="server" />
            <asp:Literal Text='<%# Eval("task") %>' Visible='<%# Eval("incidentN") == null %>' runat="server" />
    </ItemTemplate>
</asp:TemplateField>

您可以使用具有条件可见性的PlaceHolder

<asp:PlaceHolder ID="Ok" runat="server" Visible='<%# (Eval("LoadStatus").ToString()=="false"?true:false) %>'><%----%>
   <asp:Label ID="Label1" Text='<%# Eval("Task")%>' runat="server" />
</asp:PlaceHolder>
<asp:PlaceHolder ID="Ko" runat="server" Visible='<%# (Eval("LoadStatus").ToString()=="false"?false:true) %>'><%----%>
                <asp:LinkButton ID="taskLinkButton" runat="server"
                    Text='<%# Eval("Task")%>'>
                </asp:LinkButton>
</asp:PlaceHolder>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM