根据变量后面的代码值隐藏gridview列标题

我已经在我的代码后面设置了此变量:

Protected showHidePrice As Boolean = True

Property ShowHidePricePty() As Boolean 
    Get
        Return showHidePrice
    End Get
    Set(ByVal value As Boolean)
        showHidePrice = value
    End Set
End Property

并将其包含在标记中:

<asp:TemplateField HeaderText="Total">
    <ItemTemplate>
        <asp:label runat="server" ID="lblExtended_Price" Text='<%# Eval("Extended_Price")%>' Visible='<%#Me.ShowHidePricePty%>' />
    </ItemTemplate>
    <HeaderStyle Width="10%" />
</asp:TemplateField>

与此相关,我可以隐藏或显示“扩展价格”列的内容,但不能对其列标题做同样的事情。

是否也可以使用类似ShowHeader='<%#Me.ShowHidePricePty%>'的东西来隐藏列标题(目前不适用于我)?

例如,我知道我可以使用诸如onRowdatabound之类的方法来完成此操作,但是我想使用该属性,以备不时之需。

zligy911 回答:根据变量后面的代码值隐藏gridview列标题

可以与HeaderTemplate内联完成,但是问题是您在显示或隐藏Header Text的那一行上。

<asp:GridView ID="GridView1" runat="server">
    <Columns>
        <asp:TemplateField>
            <HeaderTemplate>
                <%# Convert.ToBoolean(((System.Data.DataTable)GridView1.DataSource).Rows[0][0]) ? "HeaderText" : "" %>
            </HeaderTemplate>
            <ItemTemplate>
                <%# Eval("column1") %>
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>

或者使用类似您的ShowHidePricePty

的方法
<HeaderTemplate>
    <%# ShowHidePricePty() ? "HeaderText" : "" %>
</HeaderTemplate>
本文链接:https://www.f2er.com/3099863.html

大家都在问