问题描述:
有6个字段要在DataList中显示,每行默认的格式是
---------------------------------------
c1 c2 c3 c4 c5 c6
---------------------------------------
想每行排成下面的格式
---------------------------------------
c1 c2 c3
c4 c5 c6
---------------------------------------
测试数据表:
create table test090718
(
c1 nvarchar(20),
c2 nvarchar(20),
c3 nvarchar(20),
c4 nvarchar(20),
c5 nvarchar(20),
c6 nvarchar(20)
)
insert into test090718
select 'c01','c02','c03','c04','c05','c06'
union all
select 'c11','c12','c13','c14','c15','c16'
union all
select 'c21','c22','c23','c24','c25','c26'
DataList设置:
<asp:DataList ID="DataList1" runat="server" RepeatColumns="1"
BorderColor="Black"
BorderWidth="1px" GridLines="Horizontal">
<ItemTemplate>
<table cellpadding=0 cellspacing=4>
<tbody>
<tr>
<td><asp:Literal ID="lirCol1" runat="server" Text=<%#DataBinder.Eval(Container, "DataItem.C1") %>></asp:Literal></td>
<td><asp:Literal ID="lirCol2" runat="server" Text=<%#DataBinder.Eval(Container, "DataItem.C2") %>></asp:Literal></td>
<td><asp:Literal ID="lirCol3" runat="server" Text=<%#DataBinder.Eval(Container, "DataItem.C3") %>></asp:Literal></td>
</tr>
<tr>
<td><asp:Literal ID="lirCol4" runat="server" Text=<%#DataBinder.Eval(Container, "DataItem.C4") %>></asp:Literal></td>
<td><asp:Literal ID="lirCol5" runat="server" Text=<%#DataBinder.Eval(Container, "DataItem.C5") %>></asp:Literal></td>
<td><asp:Literal ID="lirCol6" runat="server" Text=<%#DataBinder.Eval(Container, "DataItem.C6") %>></asp:Literal></td>
</tr>
</tbody>
</table>
</ItemTemplate>
</asp:DataList>
后台代码:
private const string conString = "Server=SZSOFT-SZZB//SQLEXPRESS;database=office;uid=sa;pwd=abc;";
protected void Page_Load(object sender, EventArgs e)
{
DataList1.DataSource = GetData();
DataList1.DataBind();
}
/// <summary>
/// 获取数据
/// </summary>
/// <returns></returns>
private DataTable GetData()
{
SqlConnection con = new SqlConnection();
con.ConnectionString = conString;
con.Open();
string sqlSelect = "Select * from test090718";
SqlDataAdapter adapter = new SqlDataAdapter(sqlSelect, con);
DataTable dt = new DataTable();
adapter.Fill(dt);
return dt;
}