This topic has been archived. It cannot be replied.
-
工作学习 / IT技术讨论 / ASP。NET 问题请教? 以前一直做WINDOWS程序, 对WEB变成不是很熟。现在我要在WEB PROJECT里用DATABASE数据生成一个有表格的RECEIPT,用什么方法最好?可以用DATAGRID吗?用ASP 控件还是HTML控件好?多谢!
-ttaaoo(tao);
2005-4-4
{50}
(#2220809@0)
-
UP.
-ttaaoo(tao);
2005-4-4
(#2220985@0)
-
当然用.net控件最好,要不升级到.net就没意义了
-vega_lee(天津包子-就不改);
2005-4-4
(#2221001@0)
-
没错,可以用DATAGRID。
-dakandao(~相留醉~);
2005-4-4
(#2221066@0)
-
datagrid for sure~
-andy2060(胖胖猴 :(|);
2005-4-4
(#2221084@0)
-
datagrid虽好但是功能过于强大。生成的过于复杂。如果不需要Inline编辑等等。用rpeater 或datalist更好。根据不同的需求选择合适的控件
-nealzhao(neal);
2005-4-5
(#2221590@0)
-
我很不赞同ASP.net控件,尽管它简单, 但会给Server加重负担, WEB控件(像日历,动态表单,正则式等等), 如果你有一定代码编程能力, 都应该往用户端方向走, 服务器最大限度处理数据,只传必要数据给客户端,减少网络带宽占用,勿只图简单,往页面放服务端控件就完事了
-lica(MAG);
2005-4-5
(#2221743@0)
-
Server端处理能力应该不是主要问题, 并且Server可以扩展.
-dakandao(~相留醉~);
2005-4-5
(#2221968@0)
-
从系统优化角度讲就不对,举例说我公司的考勤系统,基本上80%的人(8万员工)都在最后两天输入自己出勤状况,由于设计时所有控件都来自服务器,点一个日历会等3分钟甚至报错,做一个javascript控件放在客户就不会有这种现象.
-lica(MAG);
2005-4-5
(#2222182@0)
-
case by case, server or client side,要看啦。。。。
-luoboyang(萝卜秧);
2005-4-5
(#2222193@0)
-
那是, 你拿6万用户一起压它它能不垮吗?这种情况要尽量减少代码, 用Javascript或者直接做几个dropdownlist选择日期, 但这是特殊case :-)
-dakandao(~相留醉~);
2005-4-5
(#2222292@0)
-
我觉得RECEIPT格式一般比较复杂,datagrid不一定合适。比如你需要跨3行2列或者更复杂互相交错的cell, datagrid 就很难做。如果这个recepit 是固定的(行列定死了),你可以先把table画出来,然后再把相应的值填进去(可以用databinder) 如果列数不固定, 可以用HtmlTable。
-holdon(try again);
2005-4-5
{139}
(#2221800@0)
-
仔细想了一下,datagrid其实最适用显示数据,而非receipt这样需要格式打印的表格。它的好处排序显示,翻页,事件等等恐怕对你都没用。
-holdon(try again);
2005-4-5
(#2221827@0)
-
3行2列没有问题,每个row你都可以玩花样,象HTML TABLE那样自由组合。
-luoboyang(萝卜秧);
2005-4-5
(#2221944@0)
-
做当然可以做,实在不行你在里面嵌个template,里面再放个datagrid或者htmltable...但是那有什么意思,还不如直接用table.
-holdon(try again);
2005-4-5
(#2222055@0)
-
我认为,都是由数据库产生数据,工作量差不多,当然对我而言,别人可能有不同的感受。:)
-luoboyang(萝卜秧);
2005-4-5
(#2222078@0)
-
datagrid 有它的适用范围。比如从上到下显示多条纪录,象receipt这样的报表,我觉得datagrid很不合适,因为它基本上是一条纪录,多个字段从上到下显示。
-holdon(try again);
2005-4-5
(#2222119@0)
-
楼主说的是生成一个有表格的receipt,看怎么定义了。
-luoboyang(萝卜秧);
2005-4-5
(#2222136@0)
-
Dategrid 也可以做得很"花",并且google一下就能找到很多现成的代码.
-dakandao(~相留醉~);
2005-4-5
(#2221975@0)
-
再花也花不过table (本来就是table :-) ),你拿datagrid 做一张这样的表?<TABLE id="Table1" cellSpacing="1" cellPadding="1" width="300" border="1">
<TR>
<TD colspan="2"></TD>
<TD></TD>
</TR>
<TR>
<TD></TD>
<TD colspan="2"></TD>
</TR>
<TR>
<TD></TD>
<TD rowspan="2"></TD>
<TD></TD>
</TR>
<TR>
<TD></TD>
<TD></TD>
</TR>
</TABLE>
-holdon(try again);
2005-4-5
{313}
(#2222143@0)
-
呵呵,你没怎么用过datagrid吧,这个很easy啊。
-luoboyang(萝卜秧);
2005-4-5
(#2222144@0)
-
我常用阿。真的很easy吗?
-holdon(try again);
2005-4-5
(#2222162@0)
-
咱俩争这个干嘛呀。:))Datagrid又不给我广告费。
-luoboyang(萝卜秧);
2005-4-5
(#2222167@0)
-
学习提高阿。你怎么做呢? 我用table 1分钟能画出来,真的不知道用datagrid 能很简单的画出这样的表。
-holdon(try again);
2005-4-5
(#2222173@0)
-
那是因为你常用html table, 所以我上面说了“工作量差不多,当然对我而言,别人可能有不同的感受。”。 我两个都经常用。:))
-luoboyang(萝卜秧);
2005-4-5
(#2222183@0)
-
DataGrid1.Items[0].Cells[0].RowSpan?
-holdon(try again);
2005-4-5
(#2222190@0)
-
但是没有colspan阿。
-holdon(try again);
2005-4-5
(#2222198@0)
-
42
-ningxin0809(雁影行洲);
2005-4-5
(#2222171@0)
-
感情大家都会:-( 谁教教我吧.
-holdon(try again);
2005-4-5
(#2222176@0)
-
能不用datagrid就不用。那东东生成的HTML太复杂加上viewstate七七八八的,能把服务器累死。我没看出来用datagrid能生成这样的table。也许我在这方面太弱了。
-nealzhao(neal);
2005-4-5
(#2222199@0)
-
对于非常复杂的表单设计,如果发货单,多联发票,客户定单或动态统计数据公告牌等等,我都是用文本编辑器做的,加上CSS和DHTML反而快和清楚
-lica(MAG);
2005-4-5
(#2222216@0)
-
呵呵,一个真实例子:一个客户的web程序,每次访问某个页面时,要吃掉300M内存,经常造成.net process recycle.原来他用datagrid 生成一个交易历史报表,30000条纪录,没有分页。。。
-holdon(try again);
2005-4-5
{71}
(#2222225@0)
-
这是谁的错呢?
-luoboyang(萝卜秧);
2005-4-5
(#2222227@0)
-
他的错。我们只是isp.
-holdon(try again);
2005-4-5
(#2222229@0)
-
就是,再好的东西也不能被滥用啊。何况,我一直在说要case by case啦。
-luoboyang(萝卜秧);
2005-4-5
(#2222239@0)
-
我也常用datagrid 阿。不过刚才被你质疑了一下,很没面子。你还没教我怎么用datagrid 做这种表阿?
-holdon(try again);
2005-4-5
(#2222261@0)
-
抬杠抬杠抬杠抬杠...
-dakandao(~相留醉~);
2005-4-5
(#2222279@0)
-
这可不是抬杠,我做过比这复杂的多的receipt. 象 "发货单,多联发票,客户定单" 等等,什么千奇百怪的表都有可能。
-holdon(try again);
2005-4-5
(#2222293@0)
-
可是你给我那个表我贴在Form里一看, 恰好每行都不一样,都不"grid". 用datagrid也能做,但这种情况当然不如table简单了. 哪有report每行格数都不一样的啊.
-dakandao(~相留醉~);
2005-4-5
(#2222299@0)
-
即使显示的cell数不一样,也可以在code里面一样,留空就行了。
-luoboyang(萝卜秧);
2005-4-5
(#2222311@0)
-
我会了。this.DataGrid1.Items[0].Cells[0].ColumnSpan=2;
this.DataGrid1.Items[0].Cells.Remove( this.DataGrid1.Items[0].Cells[1]);
this.DataGrid1.Items[1].Cells[0].RowSpan=2;
this.DataGrid1.Items[2].Cells.Remove( this.DataGrid1.Items[2].Cells[0]);
-holdon(try again);
2005-4-5
{239}
(#2222348@0)
-
嘿嘿, 继续...
-dakandao(~相留醉~);
2005-4-5
(#2222358@0)
-
很不方便。必须写代码。要remove 多余的cell.
-holdon(try again);
2005-4-5
(#2222381@0)
-
你脑子还都是HTML coding的概念,按照相留醉的建议,上网找找代码,参考一下吧。
-luoboyang(萝卜秧);
2005-4-5
(#2222400@0)
-
切,能用html时,干吗要code? 每次改code 还要重编译呢。
-holdon(try again);
2005-4-5
(#2222581@0)
-
我觉得Report应该有比较多重复结构的行, 所以不妨用datagrid来做, (必要时加入template). 所以如果本例这个表是一个report的一部分,还可以用datagrid.如果就要只做这么个表,那就不用dbgrid了.
-dakandao(~相留醉~);
2005-4-5
(#2222411@0)