2013-10-09 46 views

回答

3

1 - 首先創建一個DataTable對象來保存你的數據

2-檢查DataTable中的行數,如果爲零,則添加空DataRow對象要DataTable中

3-綁定您直放站的數據表而不是數據傳遞對象

if(dt.Rows.Count==0) 
{ 
DataRow dr=dt.NewRow(); 
dt.Rows.Add(dr); 
} 

rptDemo.DataSource=dt; 
rptDemo.DataBind(); 
+1

效果很好。謝謝 – Ruruboy

+0

它讓我的一天,感謝您的代碼:-D –

0


試試這個。在轉發的FooterTemplate和默認設置可見爲false,並在的ItemDataBound頁腳 將標籤設置爲可見= TRUE當項目計數爲0或小於1

<asp:Repeater ID="rptDemo" runat="server" 
OnItemDataBound="rptDemo_ItemDataBound"> 
<ItemTemplate> 
    ....... 
</ItemTemplate> 
<FooterTemplate> 
    <%-- Label used for no data available --%> 
    <asp:Label ID="lblMsg" runat="server" CssClass="errMsg" Text="Sorry, no item is there to show." Visible="false"> 
    </asp:Label> 
</FooterTemplate> 

protected void rptDemo_ItemDataBound(object sender, RepeaterItemEventArgs e) 
    { 
     if (rptDemo.Items.Count < 1) 
     { 
      if (e.Item.ItemType == ListItemType.Footer) 
      { 
       Label lblFooter = (Label)e.Item.FindControl("lblMsg"); 
       lblFooter.Visible = true; 
      } 
     } 
    } 

希望這有助於!

0

我的要求是顯示添加行內的中繼器。我包括一個空白行作爲最後一個項目,通過做一個小的檢查,在所有其他行,隱藏的空白行。

使用

<%# (((IList)((Repeater)Container.Parent).DataSource).Count).ToString() == (Container.ItemIndex + 1).ToString() %> 

檢查,以決定是否要顯示或隱藏空行。來看

全碼:

<table> 
    <asp:Repeater ID="repeater1" OnItemCommand="repeater_user_Itemcommand" runat="server"> 
     <HeaderTemplate> 
      <tr> 
       <td> 
        Name 
       </td> 
       <td> 
        Email 
       </td> 
       <td> 
        Delete 
       </td> 
      </tr> 
     </HeaderTemplate> 
     <ItemTemplate> 
      <tr> 
       <td> 
        <asp:Label ID="lblName" runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"Name") %>'></asp:Label> 
       </td> 
       <td> 
        <asp:Label ID="lblEmail" runat="server" Text='<%# Eval("Email") %>'></asp:Label> 
       </td> 
       <td> 
        <asp:LinkButton ID="btnDelete" runat="server" CommandArgument='<%# Eval("ID") %>' 
         CommandName="delete">Delete</asp:LinkButton> 
       </td> 
      </tr> 
      <tr id="Tr1" runat="server" visible='<%# (((IList)((Repeater)Container.Parent).DataSource).Count).ToString() == (Container.ItemIndex + 1).ToString() %>'> 
       <td> 
        <asp:TextBox ID="txtName_add" runat="server" Enabled="True" Text='' Visible="false"></asp:TextBox> 
       </td> 
       <td> 
        <asp:TextBox ID="txtEmail_add" runat="server" Text='' Visible="false"></asp:TextBox> 
       </td> 
       <td> 
        <asp:LinkButton ID="btnShowAdd" runat="server" CommandName="add">Add</asp:LinkButton> 
       </td> 
      </tr> 
     </ItemTemplate> 
    </asp:Repeater> 
</table> 
相關問題