新建一张表,根据前表的ID将sheng分成两列不就OK了

解决方案 »

  1.   

    SQL语句是否能实现这个功能,我不清楚。
    但获得数据集后,比较笨的方法是,将数据集进行相应的处理,
    如按需要赋给别一个数据集或结构化数据,再绑定DataGrid,应该没问题的。不知高手们有什么好的方法?
      

  2.   

    假设你在问(WinForm 的DataGrid 问题, 不是Web的)
    使用另外一个表(DataTable) 将它们先排好。
    DataTable table = new DataTable ();
    table.Columns.Add(new DataColumn("Column1"));
    table.Columns.Add(new DataColumn("Column2"));假设你已有这个表 sheng
    DataTable sheng = new DataTable ();
    sheng.Columns.Add(new DataColumn("id"));
    sheng.Columns.Add(new DataColumn("sheng"));
    sheng.Rows.Add(new object(){1,  " 浙江"};
    ...
    int i = 0; 
    for (int i = 0; i < sheng.Rows.Count-1; i=i+2){
        table.Rows.Add(sheng.Rows[i],  sheng.Rows[i]); 
    }DataGrid.DataSource.DataSource = table; 报歉,我的代码没调试过。最后还得考虑最后一个记录的问题。
      

  3.   

    select a.id,
    case(cast(a.id as int) % 2)
     when 0 then (select sheng from table where id = a.id)
    end,case(cast(archivescharge as int) % 2)
     when 1 then (select sheng from table where id = a.id)
    end
    from table
      

  4.   

    select a.id,
    case(cast(a.id as int) % 2)
     when 0 then (select sheng from table where id = a.id)
    end,case(cast(a.id as int) % 2)
     when 1 then (select sheng from table where id = a.id)
    end
    from table
      

  5.   

    不是datagrid,是DBGrid,刚才写错了!用在web里面的!
      

  6.   

    select a.id,
    case(cast(a.id as int) % 2)
     when 0 then (select sheng from table where id = a.id)
    end,case(cast((a.id as int) + 1) % 2)
     when 0 then (select sheng from table where id = a.id)
    end
    from table你这样试试看看有没有问题,但是这样的话,你要保证数据库中子增长的字段值必须使连续的或者使奇偶的
      

  7.   

    上面的是sql语句,我怎么绑定到DBGrid上去啊?有两个字段!
      

  8.   

    id是自动增加,如果中间删除一个纪录,顺序就完全错了,如果用SQL实现,需要保证纪录是严格顺序的,这个方法不灵活;如果根据查询到的纪录的顺序来做,可以根据其顺序数的奇偶性来设定,相对比较灵活
      

  9.   

    哈哈,感觉 dattotzy(酋长) 的句子写的好!
      

  10.   

    象這樣的數據可以用datalist中的RepeatColumns屬性
    RepeatColumns=2就自動顯示兩行了;
      

  11.   

    select 
    b.name as Name2,a.Name as Name1
    from
    (select ID,Name from table where ID%2 = 0) a,
    (select ID,Name from table where ID%2 = 1) b
    where a.ID = b.ID + 1
    union
    select b.Name as Name2, Nam1 = ''
    from
    (select ID,Name from table where ID%2=1) b
    where not exists (select ID,Name from table where ID % 2 = 0 and ID = b.ID + 1)
    union
    select Name2 = '',a.Name as Name1
    from
    (select ID,Name from table where ID %2 = 0) a
    where not exists (select ID,Name from table where ID %2 = 1 and a.ID = ID + 1)左边是基数,右边是偶数。
    ID可以不连贯。