随笔 - 159  文章 - 1  评论 - 195 

 

怎样能把DataSet转换成ArrayList,而ArrayList绑定到DataGrid是正确的样式?
我通过下面的方式转换:

ArrayList al22=new ArrayList();    
            ArrayList al
=new ArrayList();    
            DataTable dt
=GetDataTable();
            
for   (int   i=0;i<dt.Rows.Count;i++)   
            
{
                
for(int j=0;j<dt.Columns.Count;j++)
                
{
                    al22.Add(dt.Rows[i][j].ToString());
                    
                }

            }


            
this.DataGrid2.DataSource= al22;
            
this.DataGrid2.DataBind();
得到的结果却是:


我需要的结果是以下这样:



posted on 2007-05-11 14:38 过江 阅读(719) 评论(10)  编辑 收藏 所属分类: asp.net2003 C#经典方法

  回复  引用  查看    
2007-05-11 15:09 | 随心所欲      
ArrayList就是一列,所以绑定出来的结果就是你看到的那样。
  回复  引用  查看    
2007-05-11 15:20 | 过江      
可是不能说他们之间就真不能进行转换了吧。要是非要转换怎么办呢?
  回复  引用  查看    
2007-05-11 15:40 | 随心所欲      
@过江
Dataset绑定就可以,你是什么样的需求才需要转换呢?
  回复  引用    
2007-05-11 16:08 | 过江 [未注册用户]
在做用一个控件做报表的时候。
  回复  引用  查看    
2007-05-11 16:55 | 随心所欲      
一般都支持DataTable,为什么不用Datatable绑定呢?什么样的报表只接受Arraylist?这样的功能太受限制了吧
  回复  引用  查看    
2007-05-11 21:18 | 海阔天空      
为什么不用DataTable或DataView?
如果你真的想用ArrayList,那么ArrayList中的对象必须有三个对应的属性,而不是你这样简单的增加进去。一个对象是一行数据,还要在DataGrid中绑定属性名。
既然是DataSet,还是用DataTable或DataView的好。
  回复  引用  查看    
2007-05-11 21:45 | Anders.Zhao      
不可直接将DataTable中的每一(列,行)的数据作为原子插入ArrayList,这样就使得ArrayList中的每一项没有意义,你可以定义一个实体类(entity),第 一个Entity的实例即存放一行DataTable的数据,这样就可直接将ArrayList绑定到DataList,GridView等展现控件了,而且强命名可以有更好的操作性和检查性。
  回复  引用  查看    
2007-05-12 11:25 | 猪猪宝贝      
- -过江这解决办法,可以直接绑定有例子慢慢看http://www.cnblogs.com/ajaxren/archive/2007/05/12/743750.html
  回复  引用    
2007-05-14 15:04 | 过江 [未注册用户]
感谢上面的各位!
  回复  引用    
2007-05-14 15:06 | 过江 [未注册用户]
@Anders.Zhao 的方法是可行的,这我知道,我就想知道除了这个之外还有其它的没有了?

标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      


相关链接: