当没有数据出现以标记时,隐藏网格itemtemplate中的标签

时间:2011-03-10 06:16:46

标签: asp.net c#-3.0

我在页面加载网格时选择了下拉列表。我将下拉索引传递给一个函数,该函数给我数据表包含用于填充下拉列表中的网格的数据。 使用下拉选择我在文本框中填写详细信息,并在网格中显示详细信息。

在网格中,第一次在页面加载时共有5列我在下拉列表中选择一个项目并填充网格,但我在填充网格中遇到问题。 因为当我首先填充网格时,数据集只包含3列数据,但网格包含5列。

对于列我使用模板字段。我想要隐藏两列网格,因为当我填充网格并绑定网格列时,我得到对象引用错误,因为数据集fillgrid函数中不存在用于绑定Text='<%# Bind("vcrAccName") %>'到templatfield中标签的数据。

<asp:TemplateField Visible="False" HeaderText="Account Name">
    <ItemTemplate>
        <asp:Label id="lblgridAccName" runat="server"
            Text='<%# Bind("vcrAccName") %>' ></asp:Label>       
     </ItemTemplate>
</asp:TemplateField>

相反模板字段我使用绑定字段我的问题解决了。但是我在弹出页面上更新了详细信息,因此我必须对网格列使用tempaltefield,以便如何隐藏具有绑定coumnnameText='<%# Bind("vcrAccName") %>'的网格itemtemplate中的标签。

我的网格代码

<asp:GridView id="gvType" runat="server" CssClass="datagrid" PageSize="30"
    CellSpacing="1" OnPageIndexChanging="gvBindingType_PageIndexChanging"
    AllowPaging="True" AllowSorting="True" OnRowDeleting="gvBindingType_RowDeleting"
    OnRowEditing="gvBindingType_RowEditing" AutoGenerateColumns="False"
    GridLines="None" CellPadding="0" BorderWidth="1px" Width="100%"
    OnRowDataBound="gvType_RowDataBound">
    <footerstyle backcolor="Tan"  />
    <columns>
        <asp:TemplateField HeaderText="Edit / Update">
            <ItemTemplate>&nbsp;
                <asp:ImageButton id="imgEdit" runat="server" ToolTip="Edit"
                    ImageUrl="~/Images/ICONS/Notepad-2.gif" CommandName="Edit">
                </asp:ImageButton>
                <asp:ImageButton id="imgDelete" runat="server" ToolTip="Delete"
                    ImageUrl="~/Images/ICONS/Delete1.gif" CommandName="Delete">
                </asp:ImageButton> 
            </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField Visible="False" HeaderText="Binding Type Id">
            <ItemTemplate>
                <asp:Label id="lblTypeChildId" runat="server" 
                    Text='<%# Bind("intTypeChildId") %>'></asp:Label> 
            </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField HeaderText="Type">
            <ItemTemplate>
                <asp:Label ID="lblName" runat="server" 
                    Text='<%# Bind("vcrName") %>'></asp:Label>
            </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField Visible="False" HeaderText="Description2">
            <ItemTemplate>
                <asp:Label id="lblDesc2" runat="server" 
                    Text='<%# Bind("vcrDesc2") %>'></asp:Label>
            </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField HeaderText="Description">
            <ItemTemplate>
                <asp:Label ID="lblDescription" runat="server" 
                    Text='<%# Bind("vcrdescription") %>'></asp:Label>
            </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField Visible="False" HeaderText="Account Name">
            <ItemTemplate>
                <asp:Label id="lblgridAccName" runat="server" 
                    Text='<%# Bind("vcrAccName") %>' ></asp:Label>       
            </ItemTemplate>
        </asp:TemplateField>
        <asp:BoundField  DataField="vcrAccType" HeaderText="Account Type">
        </asp:BoundField>
        <asp:BoundField  DataField="vcrCode" HeaderText="IFSC Code">
        </asp:BoundField>
        <asp:BoundField DataFormatString="{0:dd-MMM-yy}" DataField="dtmAddedOn"
            HeaderText="Date Added">
        </asp:BoundField>
        <asp:BoundField DataFormatString="{0:dd/MMM/yy}" DataField="dtmUpdatedOn"
            HeaderText="Date Updated">
        </asp:BoundField>
    </columns>
    <pagerstyle cssclass="PagerStyle"  />
    <headerstyle cssclass="HeaderStyle"  />       
    <alternatingrowstyle backcolor="#D1D3D4"  />
</asp:GridView>  

0 个答案:

没有答案