DataList 布局问题,也许我HTML太差搞不定.下午结帐.谢谢
已知我有40种产品,我想排成4列10行.HTML太差,DataList生成的表格我都看晕了数据表结构如下
产品名 金额 数量
CP1 10 5
CP2 16 5
CP3 14 3
CP4 17 2
CP5 15 5
.......
我要生成的表格如下,我知道RepeatDirection="Horizontal"RepeatColumns="4",但是表头并不好加上去,生成的表格也很难看,也许我HTML太差的原因吧.
_________________________________________________________
产品名 | 金额 | 数量 | 产品名 | 金额 | 数量| ...... <---四列产品名
-------|--------|-------|---------|-------|------|-------
CP1 | 10 | 5 | CP11 | 80 | 9 |........
CP2 | 16 | 5 | CP12 | 16 | 5 |........
CP3 | 14 | 3 | CP12 | 14 | 3 |........
..........................
--------------------编程问答-------------------- 用Html 后台生成 等下 我给你写一个。 --------------------编程问答-------------------- 什么DataList、RepeatColumns呀?一点也不像DataList,你怎么会硬往那个上面套呢。DataList是画矩阵而不是画表的,画表使用 GridView/DataGrid。 --------------------编程问答-------------------- 前台
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>产品名</td>
<td>金额</td>
<td>数量</td>
<td>产品名</td>
<td>金额</td>
<td>数量</td>
<td>产品名</td>
<td>金额</td>
<td>数量</td>
<td>产品名</td>
<td>金额</td>
<td>数量</td>
</tr>
<%= tb%>
</table>
后面
string tb = "";
...
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
getTb();
}
}
private void getTb()
{
DataView dvTb=new DataView();
int j = 0;
for (int i = 0; i < dvTb.Table.Rows.Count; i++)
{
if (j == 5)
j = 0;
if (j == 0)
tb += "<tr><td>" + dvTb.Table.Rows[i]["产品名"].ToString().Trim() + "</td>";
else
tb += "<td>" + dvTb.Table.Rows[i]["产品名"].ToString().Trim() + "</td>";
tb += "<td>" + dvTb.Table.Rows[i]["金额"].ToString().Trim() + "</td>";
if (j == 4)
tb += "<td>" + dvTb.Table.Rows[i]["数量"].ToString().Trim() + "</td></tr>";
else
tb += "<td>" + dvTb.Table.Rows[i]["数量"].ToString().Trim() + "</td>";
j++;
}
if(dvTb.Table.Rows.Count % 4=1)
{
tb += "<td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>";
}
else if (dvTb.Table.Rows.Count % 4 = 2)
{
tb += "<td></td><td></td><td></td><td></td><td></td><td></td></tr>";
}
else if (dvTb.Table.Rows.Count % 4 = 3)
{
tb += "<td></td><td></td><td></td></tr>";
}
} --------------------编程问答-------------------- 哈。。帮顶! --------------------编程问答-------------------- TO:sp1234
GridView/DataGrid根本达不到我的要求,我现在准备在后台建一个四列的datatable,这样程序会比较慢 你有什么好办法吗?
TO:Iceguy(Snow)
这样看起来感觉不爽啊.不过还是要谢谢你.
--------------------编程问答-------------------- 是代码看起来不爽吧?
其实这样好处就是,你可以任意设置Html代码的样式 在生成过程中添加就行了
其实很方便设置每个单元格的样式之类的
用控件反而很多地方要受到限制。 --------------------编程问答-------------------- 当你发现asp.net根本不能达到要求的时候,你是否改为使用html?
你的逻辑我见得太多了。我建议你多点信心和办法。 --------------------编程问答-------------------- 如果有人说c#或者java不爽,于是改为使用汇编,我们能因此认为他技术很好吗?有经验的人不能相信他。一个人不可能因为自己喜欢搞底层的东西而抬高自己,除非他确实证明自己精通得可以很快搞出一套,例如你可以证明你用几年时间可以搞出一套asp.net系统。 --------------------编程问答-------------------- 我现在准备在后台建一个四列的datatable,这样程序会比较慢 你有什么好办法吗?
——————————————————————————————————————————
怎么说明“比较慢”?
看不出你的到底以哪个已经可行的技术方案为依托,可能都还没有过成功地解决方案,连最慢的方案都自己没有自己实现过。 --------------------编程问答-------------------- 主 题: DataList 布局问题,也许我HTML太差搞不定.下午结帐.谢谢
作 者: ccedxp2 () Blog
等 级:
信 誉 值: 100
所属社区: .NET技术 ASP.NET
问题点数: 100
回复次数: 9
发表时间: 2007-3-31 10:39:38
----------
now is 2006-4-3 15:17 --------------------编程问答-------------------- 顶一下.
其实是个很容易的问题. --------------------编程问答-------------------- 揭贴把 --------------------编程问答-------------------- 自己写HTML要容易的多,反正就是table循环呗 --------------------编程问答-------------------- 学习来了! --------------------编程问答-------------------- 学习 --------------------编程问答-------------------- 想多了吧,直接循环table
tr
td
自己设置下样式不就成了,
--------------------编程问答--------------------
<asp:Repeater ID="rp_01" runat="server">
<HeaderTemplate>
<table border="1" cellpadding="0" cellspacing="0">
<tr>
<td>产品名</td>
<td>金额</td>
<td>数量</td>
<td>产品名</td>
<td>金额</td>
<td>产品名</td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td><%#Eval("Product") %></td>
<td><%#Eval("Price") %></td>
<td><%#Eval("Count") %></td>
</ItemTemplate>
<AlternatingItemTemplate>
<td><%#Eval("Product") %></td>
<td><%#Eval("Price") %></td>
<td><%#Eval("Count") %></td>
</tr>
</AlternatingItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
这个单数的时候可能难看点,用CSS控制下就好多了
只要了解Repeater,DataList,DataGrid/GridView是什么东西,都不难的,有空我写篇几个控件的另类用法 --------------------编程问答-------------------- 个人看法,aspx页面最好不用asp的写法,绑定应该比asp循环的写法要快,毕竟MS做了很多优化 --------------------编程问答-------------------- 前台直接绑定数据 --------------------编程问答-------------------- 用stringbuilder循环组合html,性能还可以,我也是新手程序员,我很同意sp1234说的,不管什么方法,先有个解决方案,去实现它,然后再看看有没有更好的方案去改进,比较2者的不同,慢慢就会有进步的。 --------------------编程问答-------------------- 还有,之前我听一个asp.net的老鸟跟我说,死抱着ms的asp.net服务器控件不放,可能会死的很惨。。。。 --------------------编程问答--------------------
.UP --------------------编程问答-------------------- 跨年贴!!!!!!!!11 --------------------编程问答-------------------- 自己在table里面写循环,万事大吉 --------------------编程问答-------------------- --------------------编程问答-------------------- 无论你用啥· 都得控制样式 使其美观 是不是
比如用table 和datelist 都的控制这些繁琐的问题!·
就看你目前用哪个方便了!~··
补充:.NET技术 , ASP.NET