文本数据|文本数据 1 2 3 4 5 6
---------------------------------------------------------
xxxxx  |xxx 2 4 6
xxxxxx |xxxx 1 2 4
xxx    |xxx 2 4 6
xx     |xx 3 5 6
---------------------------------------------------------数据的结构是这样:xxxx,xxx,2,5,6;想让数据在datagirdview中显示,前两个字段正常的在datagridview中对应的字段显示,关键是后面的数字,想让它在datagridview中根据数字大小对应其大小的列来填充,就好象上面的表格一样,我的数据现在是2,5,6;则2填到对应的2列,5填到对应的5列,这样该如何实现,谢谢

解决方案 »

  1.   

    试试:
                DataGridView d = new DataGridView();
    DataRow[] drArray = rValue   //假设你的1,2,3是记录列号的数据
    int i = 0;
    foreach(DataRow drTemp in drArray)
    {
                d.Rows[i].Cells[int.Parse(drTemp[1].ToString())]=drTemp[1];
                d.Rows[i].Cells[int.Parse(drTemp[2].ToString())]=drTemp[2];
                d.Rows[i].Cells[int.Parse(drTemp[3].ToString())]=drTemp[2];
    i++;
    }
      

  2.   

    2应该对应不了第二列了,第二列被占用了,前两列别你填充了xx这些信息了
    如果是1,怎么办,只能从第三列开始放1,2,3,就是第三列对应1,第四列对应2,以此类推了
    分割一下这些数字,然后根据数字的值,处理一下啊,放入对应的列就可以了
    先放进datatable中,然后指定控件的datasource为datatable就好了
    xxxx,xxx,
      

  3.   

    我觉得在数据库里处理下再绑是不是简单点呀!
    select substring(col,0,charindex(',',col)) as col1,
           substring(substring(substring(col,charindex(',',col)+1,len(col)),0,charindex(',',substring(substring(col,charindex(',',col)+1,len(col)))) as col2,
    case when
         substring(substring(substring(col,charindex(',',col)+1,len(col)),charindex(',',substring(substring(col,charindex(',',col)+1,len(col))))+1,len(substring(substring(col,charindex(',',col)+1,len(col)))='1'
         then
           1
         end as '1',
    ……
    from tablename
      

  4.   

    我的是将这样的数据xxxx,xxx,2,5,6当作一列中内容处理!~