如何隐藏ASP.NET webform中的列

时间:2012-06-20 02:39:03

标签: c# asp.net

在我的PrinterPackage。 aspx 文件中,我有以下'用户控制'

<%@ Register Src="~/ProvisionControls/DeferredTaxRollforwardControl.ascx" TagPrefix="uc9" TagName="DeferredTaxesRollforwardControl" %> 
   ...
   ...
 <div>
    <uc9:DeferredTaxesRollforwardControl ID="DeferredTaxesRollforwardControl1" runat="server" />
 </div>

调用包含我的表定义如下的控制文件'DeferredTaxRollforwardControl。 ascx ':

<table style="width: 4600px; border-spacing:0px;" border="0" frame="hsides" cellpadding="2" cellspacing="1">

<tr id = "tblTempDiff"> //want to import this


<td style="width:7.6%;" width="2px;" class="paintYellowTotalLeftBold">
    Grand Total Current
</td>
<td style="width:2.8%;" width="2px;" class="paintYellowTotalBold">
    <asp:Label ID="lblGrandTotalUnadjustedBeginningBalance" runat="server" Text=""></asp:Label>
</td>
... and more <td>

我正在尝试显示表格,并使用我的PrinterPackage中的以下代码隐藏一些列。 aspx.cs 文件:

 TableRow row = DeferredTaxesRollforwardControl1.FindControl("tblTempDiff") as TableRow;
        row.Cells[0].Visible = true;
        row.Cells[1].Visible = true;
        row.Cells[2].Visible = true;
        row.Cells[3].Visible = true;
        row.Cells[4].Visible = true;
        row.Cells[5].Visible = true;
        row.Cells[6].Visible = true;
        row.Cells[7].Visible = true;
        row.Cells[8].Visible = true;
        row.Cells[9].Visible = false;
        row.Cells[10].Visible = false;
        row.Cells[11].Visible = false;
        row.Cells[12].Visible = false;

但是,这似乎没有拿起表格行 tblTempDiff 而是给我一个空值。如何将TableRow tblTempDiff 中的数据导入,然后隐藏我想要隐藏的列?

如果您需要更多信息,请向我提问,因为我知道在解释我的问题时我不是最好的人。

2 个答案:

答案 0 :(得分:0)

@ user1319424:不是已经创建了表,而是使用占位符然后创建动态表并将该表绑定到占位符。

参考以下链接: http://www.dotnetcurry.com/ShowArticle.aspx?ID=135

答案 1 :(得分:0)

后面的代码无法看到您创建的<tr>,因为它不是服务器控件。将runat="server"属性添加到<tr>

<tr id="tblTempDiff" runat="server">

并使用System.Web.UI.HtmlControls.HtmlTableRow代替TableRow。两件不同的事情。