我在c#2003中,建一个表格
表格的每列的列名是商品名称   2007-04  2007-05 2007-06 2007-08 2007-09 2007-10
笔记本        34      54      12      43      34       54   这个列名的日期是动态的变化的,去的的是当前月并依次后加6个月这个table在 aspx页面里该如何写啊?其中的数字是存放在文本框中的
该如何办?
各位大侠帮忙啊!
谢谢拉!

解决方案 »

  1.   

    就是这样的啊,
    只不过中间几个<td>要循环,<td>中的内容为月份,这个是动态的!日期是动态的变化的,取的的是当前月并依次后加6个月
    可惜不能贴图啊!
    ----------------------------------------------------------------------------------
    | 商品名称 | 2007-04 | 2007-05 | 2007-06 | 2007-07 | 2007-08 | 2007-09 | 2007-10 |
    ----------------------------------------------------------------------------------
    | 笔记本   |   34    |    22   |   55    |   22    |   12    |    66   |   45    |
    ----------------------------------------------------------------------------------
    大致就是这样的一个表格啊!
      

  2.   

    列名动态变化的,那数据呢,应该也是动态的吧,这种就不要用table了,用datagrid吧说下你的数据是如何得到的,如果是从数据库中得到的,取出后用datagrid直接绑定就可以了
      

  3.   

    根据你的要求 用DataTable动态生成数据表 
    然后绑定到DataGrid上 
      

  4.   

    System.Data.DataTable  dt = new System.Data.DataTable()
                dt.Columns.Add("商品名称");
    dt.Columns.Add("商品名称");
    dt.Columns.Add("2007-04 ");
    dt.Columns.Add("2007-04 ");
    .......
      

  5.   

    用datagrid自动生成列,生成生就行了
    comningbo(下雨不带伞) ( ) 信誉:98    Blog   加为好友 
    的方法不错,基本上就这是这样罗
      

  6.   

    写这个一个函数:
    DataSet GetGoodsByMonth( param DataTime[] dts, string name)
    {
        string sql = "select 商品名称,{0} from 商品表 where 品名列='" + name + "'";
        string colums = "";
        //拼SQL的衍生列
        foreach( DataTime dt in dts )
        {
             string date = 从dt中取出年月;
             string col = date + "= select count(*) from 商品表 where name=商品名 and 出商日期 between dt那个月分的一号 and dt那个月的31号";
             //不要少逗号
             string col += ",";
             colums += col;
        }
        //最后一列不要逗号
        colums = colums.SubString(0, colums.Length-1);
        //拼Sql完毕
        sql = String.Format(sql, colums);
        //运行返回DATASET
        ........
        //返回DataSet
        ........
    }这个DataSet你往DataGrid上一绑就OK
    思路是拼SQL,有兴趣的话可以想法优化SQL提高性能
    技巧是衍生列
      

  7.   

    可以通过HtmlTable来加。
    将行通过HtmlTableRow加入,每行的列通过HtmlTableCell加入!这样可以添加TextBox
      

  8.   

    直接在aspx页面里写不行吗?因为那几个日期是根据当前日期取的,即使数据库里没有也应该显示的阿!
    像asp里面不是可以对<td>进行循环马?不知道在aspx怎么用阿?
      

  9.   

    我觉得最好的,最有效的方法是拼html代码.
      

  10.   

    lucksnowof(问风何处来)
    怎么拼呢?我对不熟啊!
    一定要在.cs里面实现吗?我想在aspx页面里实现可以吗??
      

  11.   

    amwanfwbx(滴水的屋檐) 都说的很清楚了啊
    你拼个SQL就好了啊
      

  12.   

    不明白啊!
    我的数据库表是这样的啊!
    id    ProductID   number  datetime
    1        2         21      2007-03-01
    2        2         23      2007-04-01
    3        2         25      2007-05-01
    4        2         43      2007-06-01
    5        2         31      2007-03-01
    6        3         23      2007-04-01
    7        3         56      2007-05-01
    8        3         16      2007-06-01
    然后显示出来的样子是----------------------------------------------------------------------------------
    | 商品名称 | 2007-04 | 2007-05 | 2007-06 | 2007-07 | 2007-08 | 2007-09 | 2007-10 |
    ----------------------------------------------------------------------------------
    |     2    |   23    |    25   |   43    |         |         |         |         |
    ----------------------------------------------------------------------------------
    |     3    |   23    |    56   |   16    |         |         |         |         |
    ----------------------------------------------------------------------------------
    日期是显示从当前月往后依次类推6个月,如果,后面的月份没有输入数据则显示空白
    每个显示的数据都是在一个input文本框中的,可以进行保存修改,如果,空白的地方输入数据的话则是新增一条!
    该如何搞呢?头都大了啊!
    小弟是新手,希望高手们帮帮忙啊!
      

  13.   

    create table products
    (
    id int identity,
    productid int,
    number int,
    [datetime] datetime
    )insert into products values(2,21,'2007-03-01')
    insert into products values(2,23,'2007-04-01')
    insert into products values(2,25,'2007-05-01')
    insert into products values(2,43,'2007-06-01')
    insert into products values(2,31,'2007-03-01')
    insert into products values(3,23,'2007-04-01')
    insert into products values(3,56,'2007-05-01')
    insert into products values(3,16,'2007-06-01')select * from productsselect productid
    , sum(case month([datetime]) when month(getdate()) then number end)
    , sum(case month([datetime]) when month(getdate())+ 1 then number end)
    , sum(case month([datetime]) when month(getdate())+ 2 then number end)
    , sum(case month([datetime]) when month(getdate())+ 3 then number end)
    , sum(case month([datetime]) when month(getdate())+ 4 then number end)
    , sum(case month([datetime]) when month(getdate())+ 5 then number end)
    , sum(case month([datetime]) when month(getdate())+ 6 then number end)
    from products
    group by productid显示结果为:
    productid                                                                                       
    ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- 
    2           23          25          43          NULL        NULL        NULL        NULL
    3           23          56          16          NULL        NULL        NULL        NULL(所影响的行数为 2 行)下面你在自己想想如何绑定吧