C# Datalist ASP.Net。仅在填充时显示单元格的网格线

C# Datalist ASP.Net。仅在填充时显示单元格的网格线,c#,asp.net,C#,Asp.net,我正在使用页面上的datalist控件来显示数据列表。我设置了以下选项,将数据整齐地显示在四列的表格中 GridLines="Both" RepeatColumns="4" RepeatDirection="Horizontal" RepeatLayout="Table" OnItemDataBound="DataList1_ItemDataBound" Width="300px" runat="server"> 当列表包含四个以上的项目时,这种方法非常有效,但是当列表少于四个时,我会得

我正在使用页面上的datalist控件来显示数据列表。我设置了以下选项,将数据整齐地显示在四列的表格中

GridLines="Both" RepeatColumns="4"
RepeatDirection="Horizontal" RepeatLayout="Table" OnItemDataBound="DataList1_ItemDataBound" Width="300px" runat="server">
当列表包含四个以上的项目时,这种方法非常有效,但是当列表少于四个时,我会得到被网格线包围的空单元格。我只想在填充的单元格上显示网格线。有没有使用数据列表来实现这一点的解决方案?

您可以使用它

 <FooterTemplate>
    <asp:Label Visible='<%#bool.Parse((DataList1.Items.Count==0).ToString())%>' runat="server" ID="lblNoRecord" Text="No Record Found!"></asp:Label>
    </FooterTemplate>

您可以使用这个

 <FooterTemplate>
    <asp:Label Visible='<%#bool.Parse((DataList1.Items.Count==0).ToString())%>' runat="server" ID="lblNoRecord" Text="No Record Found!"></asp:Label>
    </FooterTemplate>

绑定DataList控件时,您可以动态设置它,如下所示:-

public void BindMyDataList()
{
    myDataList.DataSource = GetData();
    myDataList.DataBind();
    int count = GetData().Rows.Count; //Fetch the count
    myDataList.RepeatColumns = count < 4 ? count : 4;
}
public void BindMyDataList()
{
myDataList.DataSource=GetData();
myDataList.DataBind();
int count=GetData().Rows.count;//获取计数
myDataList.RepeatColumns=计数<4?计数:4;
}
您必须根据获取绑定到DataList的数据的方式更改检索
count
的代码


这将显示与要绑定的总记录数相同的列数,否则可以在绑定DataList控件时动态设置它,如下所示:-

public void BindMyDataList()
{
    myDataList.DataSource = GetData();
    myDataList.DataBind();
    int count = GetData().Rows.Count; //Fetch the count
    myDataList.RepeatColumns = count < 4 ? count : 4;
}
public void BindMyDataList()
{
myDataList.DataSource=GetData();
myDataList.DataBind();
int count=GetData().Rows.count;//获取计数
myDataList.RepeatColumns=计数<4?计数:4;
}
您必须根据获取绑定到DataList的数据的方式更改检索
count
的代码


这将显示与要绑定的记录总数相同的列数,否则
4

非常感谢..我正在使用datareader返回数据。。DataList1.DataSource=myDataReader@user552769-不客气:)那么我猜你能找到伯爵了?是的,谢谢劳尔。。使用此整数计数=0;if(myDataReader.Read(){count=(int)myDataReader[“Rows”];}非常感谢..我正在使用datareader返回数据。。DataList1.DataSource=myDataReader@user552769-不客气:)那么我猜你能找到伯爵了?是的,谢谢劳尔。。使用此整数计数=0;if(myDataReader.Read()){count=(int)myDataReader[“Rows”];}