2011-11-15 26 views
3

我有一个中继器。我想隐藏并显示特定条件的特定列。我有三种类型的主题,他们的ID分别是0,1,2。现在我想表明,特定的列时拍摄对象的只有2 ..显示并隐藏直放站中的特定列?

我的代码是: -

<table id="table1" class="yui" cellpadding="0" cellspacing="0"> 
       <thead> 
        <tr> 
         <th> 
          <a href='#' title="Click Header to Sort">EmpID #</a> 
         </th> 
<th>Edit</th> 

        </tr> 
       </thead> 
       <tbody> 
        <asp:Repeater ID="Repaddressorbbl" runat="server" OnItemCommand="Repaddressorbbl_ItemCommand"> 
         <ItemTemplate> 

          <tr id="gh" style="cursor: pointer" onclick="Select(this);"> 
           <td style="text-align: center;"> 
            <%#Eval("empid")%> 
           </td> 
<td> 
            <asp:LinkButton ID="lknumber" runat="server" Text="Edit" CommandName="subjectid" /> 
           </td>        
          </tr> 
         </ItemTemplate> 
        </asp:Repeater> 
       </tbody> 
       <tfoot> 

       </tfoot> 
      </table> 
+0

检查这一项:http://stackoverflow.com/questions/6051483/is-it-possible-to-hide-a-column-in-an-asprepeater –

回答

3

我想你应该使用<HeaderTemplate></HeaderTemplate><FooterTemplate></FooterTemplate>来定义表的开始和结束只是整理一下启动。

您可以通过添加runat =“server”来获取要在服务器上运行的表,并为列<td>指定一个id和runat =“server”属性,以便您可以根据该属性对服务器代码进行编程。然后,我会根据您的字段值绑定单元格的可见属性,或者使用attributes.add(“display:none”)或仅使用链接中建议的网格视图。

3

你可以捕捉到中继器的OnItemDataBound事件和隐藏的列有如果(主题)项目ID为2

为了你能得到的列的引用,使服务器控件:

<td style="text-align: center;" id="COL_TO_HIDE" runat="server"><%#Eval("empid")%></td> 

然后在转发事件中,你可以简单的厕所K为控制和隐藏:

protected void YourRepeater_ItemDataBound(object sender, RepeaterItemEventArgs e) 
{ 
    if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) 
    { 
     var subject = (Subject)e.Item.DataItem; 
     if (subject.Id == 2) 
     { 
      var col = e.Item.FindControl("COL_TO_HIDE"); 
      col.Visible = false; 
     } 
    } 
} 

请注意,这仅仅是应该你开始一个简单的例子。

+0

先生我也想这样做,但无法找到td ... –

0
<asp:Repeater ID="Repaddressorbbl" runat="server" 
OnItemCommand="Repaddressorbbl_ItemCommand"> 
    <ItemTemplate> 
     <tr id="gh" style="cursor: pointer" onclick="Select(this);"> 
      <td style="text-align: center;"> 
       <%#Eval("empid")%> 
      </td> 
      <% if (false){ %> 
      <td> 
       <asp:LinkButton ID="lknumber" runat="server" 
       Text="Edit" CommandName="subjectid" /> 
      </td> 
      <% } %>        
     </tr> 
    </ItemTemplate> 
</asp:Repeater>