本人以前一直用的PB,主要对数据库查询进行各种展示。人到中年,忽然想学学新东西,最近接到个任务想改用VS做ASP。现在遇到一个问题,本来我想用GRIDVIEW,但这个任务涉及到比较复杂的查询,经常要用到几个SQL的结果展示在一个表格。我又想用原始的TABLE,然后一个个单元把内容填进去。但是对如何动态添加行、列实在很困扰。求教,到底用什么控件,或者TABLE的话怎么动态管理行列。

解决方案 »

  1.   

    直接写Table更灵活,添加行列用Javascript操作DOM。
      

  2.   

    jquery ui datagrid
      

  3.   


    GridView 怎样动态管理行列,那么你的Table 就怎样管理行列。GridView是一个强大的控件,而 Table 是一个底层的概念,在设计逻辑上的区别都是基于这个而展开的。如果你懒得动脑筋,只想抄代码,那么你就用 GridView。如果你想自己提出“逻辑设计来问问题”,那么你可以自己动手从底层重新设计。没有这个逻辑设计习惯、提不出自己的设计蓝图、只能抄代码,建议从界面比较“土”而功能还算强大的(但是可能后期处理比较繁琐)控件开始考虑。
      

  4.   

    最后再给你一个进阶的提示。其实初学者以为的“万能的控件”,如果你自己去开发,未必是万能的,因为你的能力限制了,跟人家的开发控件(哪怕是GridView的控件的微软的设计师)差的太远。因此不要以为“从底层技术开始考虑,就一定灵活”。比如说,当时用所谓的 <table> 的时候,你就应该基于“确定的”数据实体模式来设计列,而不应该扯上什么“动态列”。因为这两个概念在实现起来的逻辑上的差别,可能就是10跟100的差别,实现精力上有巨大差别。在假设“列固定”时你照样可以模块化编程,不同的列模式照样可以重复复用你自己的类库,而不需要空想什么“动态列”概念。
      

  5.   

    我经常使用微软的前端框架 knockout 的一个简单例子 http://knockoutjs.com/examples/cartEditor.html 来说明表格和业务编程逻辑。你可看到,这个 table 没有美工设计样式——没有边框背景等等修饰,所以它纯粹就是一个简单业务逻辑的展示。但是你仔细看看人家的代码,能看懂“设计模式”吗?看懂了,你对前端开发就有30%的入门了。
      

  6.   

    启发好大,我原来想差了,应该把我的各个展示分成一个个“确定的”SQL,看起来没那么炫,但是实用。