请问,如何获得datagrid中各列的数据类型

解决方案 »

  1.   

    没有人知道吗?在文一下如何更改dataset中列的顺序
      

  2.   

    准确地讲,你问的问题比较业余。
    第一,“如何获得datagrid中各列的数据类型”,这个问题中:
      dataGrid只不过是一个数据表示容器而已,其真正的内容是dataTable或者dataView,所以这里你应该是问如何知道一个dataTable中各列的数据类型。
      如果是这样的话,是可以知道的,如下代码:
                      DataGrid grid ; //假设是一个已经定义好的dataGrid
                    DataTable tbl = grid.DataSource as DataTable;  //假设该grid的datasource是一个dataTable
                    string dataType001 = tbl.Columns[0].DataType.Name;
    这样便可以得到第一列的数据类型的名称了。
    第二各问题“如何更改dataset中列的顺序”,就更加不对了。
    在dataSet中哪里来的列呢?
    dataSet只不过是存放dataTable的一个容器罢了,确切的说应该dataTable的列的顺序把?
    如果是这样的话,可以有两种方法来完成:
    1,如果你对列的使用都是根据列名来取得的话,根本不需要牵扯到列的顺序;
    2,如果你是在某些需要循环处理部分列的数据的话,非要重新部署列的顺序的话,那就需要把dataTable的所有的列都取出来,存放到一个ArrayList中,然后利用ArrayList的insert(index, object)方法来实现排序处理,然后再将这些列重新部署到dataTable中去。
    总的来讲,第2种情况,其实和重新构建table差不多了,一般情况下应该避免。总而言之,dataTable,DataSet都是C#的核心控件类,需要先对其特性进行深入了解,以免做无畏的事情。
    以上,希望对你有帮助:)