我正在使用页面上的datalist控件来显示数据列表。我有以下选项设置,它将数据整齐地显示在一个表中的四列中。
GridLines="Both" RepeatColumns="4"
RepeatDirection="Horizontal" RepeatLayout="Table" OnItemDataBound="DataList1_ItemDataBound" Width="300px" runat="server">
当列表包含四个以上的项目时,这很有用,但是当列表少于四个时,我会得到由网格线包围的空单元格。我想做的只是在填充的单元格上显示网格线。是否有使用datalist实现此目的的解决方案?
答案 0 :(得分:0)
你可以使用它,
<FooterTemplate>
<asp:Label Visible='<%#bool.Parse((DataList1.Items.Count==0).ToString())%>' runat="server" ID="lblNoRecord" Text="No Record Found!"></asp:Label>
</FooterTemplate>
答案 1 :(得分:0)
您可以在绑定DataList控件时动态设置它,如下所示: -
public void BindMyDataList()
{
myDataList.DataSource = GetData();
myDataList.DataBind();
int count = GetData().Rows.Count; //Fetch the count
myDataList.RepeatColumns = count < 4 ? count : 4;
}
您必须根据获取绑定到DataList的数据的方式更改检索count
的代码。
这将显示与您要记录的总记录数相同的列数4
。