注册 登录
编程论坛 ASP.NET技术论坛

[求助]分类横向和纵向送显

mlrh3838 发布于 2007-09-07 12:20, 626 次点击
有这样一个分类的字典数据表: table

id cate
--- --------
1 分类一
2 分类二
3 分类三
4 分类四
5 分类五
6 分类六

我要在主页面上显示如下:

分类一 分类二 分类三
分类四 分类五 分类六

也就是先横向排三列再纵向排

6 回复
#2
bygg2007-09-07 12:48

先拖一个HTML的Table,加个属性runat="server" ID="ptable"

for (int i = 0; i < dt.Rows.Count; i++) //dt为你查询出来的数据表
{
HtmlTableRow tr;
if (ptable.Rows.Count > 1 && ptable.Rows[ptable.Rows.Count - 1].Cells.Count < 3) //每三条数据换行
{
tr = ptable.Rows[ptable.Rows.Count - 1];
}
else
{
tr = new HtmlTableRow();
}
HtmlTableCell tc1 = new HtmlTableCell();
tc1.Controls.Add(createLabel(dt.Rows[i][0].ToString()));
tr.Cells.Add(tc1);
ptable.Rows.Add(tr);
}

#3
mlrh38382007-09-07 13:05
问下楼上的
tc1.Controls.Add(createLabel(dt.Rows[i][0].ToString()));
这名应该是创建单元并填充数据吧,能详细点说下
createLabel(dt.Rows[i][0].ToString()) 这名吗
#4
caoJia2007-09-07 15:48
假如你用DataList 的话.里面有个RebeatCoumns属性是指定列的数目的.就不用去写代码拉~
#5
bygg2007-09-07 16:40
以下是引用mlrh3838在2007-9-7 13:05:01的发言:
问下楼上的
tc1.Controls.Add(createLabel(dt.Rows[i][0].ToString()));
这名应该是创建单元并填充数据吧,能详细点说下
createLabel(dt.Rows[i][0].ToString()) 这名吗

哦,不好意思,忘记把 createLabel 方法放出来了.
就是创建一个Label,把dt中的某一行第一列的数据显示在这个Label中

#6
guoxhvip2007-09-10 17:11
用DataList应该能实现
#7
梦灵儿2007-09-10 18:52
用datalist有个属性可以设置的.
1