DataColumn有的需要等级Type构造类型的参数,如以下:

        //
// 摘要:
// 使用指定列名称和数据类型初始化 System.Data.DataColumn 类的新实例。
//
// 參数:
// columnName:
// 一个字符串,它表示要创建的列的名称。 假设设置为 null 或空字符串 (""),则当加入到列集合中时。将指定一个默认名称。
//
// dataType:
// 支持的 System.Data.DataColumn.DataType。 //
// 异常:
// System.ArgumentNullException:
// 未指定不论什么 dataType。 public DataColumn(string columnName, Type dataType);
//
// 摘要:
// 使用指定的名称、数据类型和表达式初始化 System.Data.DataColumn 类的新实例。
//
// 參数:
// columnName:
// 一个字符串,它表示要创建的列的名称。 假设设置为 null 或空字符串 ("")。则当加入到列集合中时,将指定一个默认名称。
//
// dataType:
// 支持的 System.Data.DataColumn.DataType。
//
// expr:
// 用于创建该列的表达式。 有关很多其它信息。请參见 System.Data.DataColumn.Expression 属性。
//
// 异常:
// System.ArgumentNullException:
// 未指定不论什么 dataType。 public DataColumn(string columnName, Type dataType, string expr);
//
// 摘要:
// 使用指定名称、数据类型、表达式和确定列是否为属性的值,初始化 System.Data.DataColumn 类的新实例。
//
// 參数:
// columnName:
// 一个字符串。它表示要创建的列的名称。 假设设置为 null 或空字符串 (""),则当加入到列集合中时。将指定一个默认名称。 //
// dataType:
// 支持的 System.Data.DataColumn.DataType。
//
// expr:
// 用于创建该列的表达式。有关很多其它信息。请參见 System.Data.DataColumn.Expression 属性。
//
// type:
// System.Data.MappingType 值之中的一个。 //
// 异常:
// System.ArgumentNullException:
// 未指定不论什么 dataType。 public DataColumn(string columnName, Type dataType, string expr, MappingType type);

C#的几个与类型Type有关的几个语句

1、typeof
typeof是个运算符,typeof(类型)。比如typeof(bool)、typeof(int)、typeof(System.Windows.Forms.TextBox)
2、Type.GetType(类型名)。

这个类型名是string型。加引號的。

3、Object.GetType()。

Object类的成员,c#的类对象都有此方法。

上面3个都返回System.Type。

详细使用演示样例:

        private void Form1_Load(object sender, EventArgs e)
{
try
{
dt = new DataTable();
dt.Columns.Add(new DataColumn("one", System.Type.GetType("System.Double")));
//System.Type.GetType(TypeCode.Double.ToString())这样的方式不能用
dt.Columns.Add(new DataColumn("two", System.Type.GetType("System.Double")));
dt.Columns.Add(new DataColumn("three", typeof(Double)));
dt.Columns.Add(new DataColumn("four", (1D).GetType())); Random rnd = new Random();
for (int i = 0; i < 10; i++)
{
dt.Rows.Add(new object[] { (Double)rnd.Next(1, 234923745), (Double)rnd.Next(1, 234923745), (Double)rnd.Next(1, 234923745), (Double)rnd.Next(1, 234923745) });
} dt.DefaultView.Sort = "one ASC,two ASC"; dataGridView1.DataSource = dt.DefaultView;
}
catch (System.Exception ex)
{
MessageBox.Show(ex.Message);
}
}

源代码下载:c#DataGridView数据绑定演示示例 混合多列排序

C#新DataColumn类Type生成的方法类型参数的更多相关文章

  1. Javassist之使用字节码在运行时生成新的类 01

    介绍 Javassist是一个开源的分析.编辑和创建Java字节码的类库.是由东京工业大学的数学和计算机科学系的 Shigeru Chiba (千叶 滋)所创建的.它已加入了开放源代码JBoss 应用 ...

  2. python 单例模式,一个类只能生成唯一的一个实例,重写__new__方法详解

    单例:一个类只能生成唯一的一个实例 每个类只要被实例化了,他的私有属性 '_instance'就会被赋值,这样理解对吗 对 #方法1,实现__new__方法 #并在将一个类的实例绑定到类变量_inst ...

  3. Python面向对象 --- 新旧式类、私有方法、类属性和类方法、静态方法

    一.Python面向对象中的新旧式类 1)新式类(推荐使用):在定义类时,类后边括号里要继承基类(object).在python3.x中若没有指定父类,会默认使用的是object作为基类:在pytho ...

  4. 动态加载Dll时,通过Type生成类对象

    原文:动态加载Dll时,通过Type生成类对象 转:http://www.cnblogs.com/zfanlong1314/p/4197383.html "反射"其实就是利用程序集 ...

  5. Hibernate的多表查询,分装到一个新的实体类中的一个方法

    不知道是否还有其他方法实现,请高人指点. 如果涉及到多张表多字段查询,并且想利用查询出来的字段在界面层构建一个新的实体类,可以使用这种方法: 如果查询出来的多字段中,有多个字段的名字都相同(如想查询出 ...

  6. eclipse 中main()函数中的String[] args如何使用?通过String[] args验证账号密码的登录类?静态的主方法怎样才能调用非static的方法——通过生成对象?在类中制作一个方法——能够修改对象的属性值?

    eclipse 中main()函数中的String[] args如何使用? 右击你的项目,选择run as中选择 run configuration,选择arguments总的program argu ...

  7. Python进阶----类的结构(公有成员 , 私有成员(私有属性,私有方法),类方法,静态方法,属性) ,isinstance 和issubcalss ,元类(type())

    Python进阶----类的结构(公有成员 , 私有成员(私有属性,私有方法),类方法,静态方法,属性) ,isinstance 和issubcalss ,元类(type()) 一丶类的结构细分    ...

  8. Python面向对象06 /元类type、反射、函数与类的区别、特殊的双下方法

    Python面向对象06 /元类type.反射.函数与类的区别.特殊的双下方法 目录 Python面向对象06 /元类type.反射.函数与类的区别.特殊的双下方法 1. 元类type 2. 反射 3 ...

  9. python 面向对象专题(六):元类type、反射、函数与类的区别、特殊的双下方法

    目录 Python面向对象06 /元类type.反射.函数与类的区别.特殊的双下方法 1. 元类type 2. 反射 3. 函数与类的区别 4. 特殊的双下方法 1. 元类type type:获取对象 ...

随机推荐

  1. typedef和define具体的具体差别

      1) #define是预处理指令,在编译预处理时进行简单的替换,不作正确性检查,不关含义是否正确照样带入,仅仅有在编译已被展开的源程序时才会发现可能的错误并报错.比如: #define PI 3. ...

  2. 调试Release发布版程序的Crash错误

    http://www.cppblog.com/Walker/archive/2012/11/08/146153.html http://blog.sina.com.cn/s/blog_48f93b53 ...

  3. 基于Linux根据僵尸网络病毒平台《比尔盖茨》

    感觉分析的非常好,所以决定翻译出来,希望和大家多多交流O(∩_∩)O~ 转载请注明出处:http://blog.csdn.net/u010484477     O(∩_∩)O谢谢 keyword:病毒 ...

  4. chrome查看headers

    F12-> network标签, 刷新网页-> 找到该网页url,选择headers

  5. java学习笔记13--比较器(Comparable、Comparator)

    java学习笔记13--比较器(Comparable.Comparator) 分类: JAVA 2013-05-20 23:20 3296人阅读 评论(0) 收藏 举报 Comparable接口的作用 ...

  6. ExtJS4.2学习(7)——基础知识之Reader&Writer篇

    Reader: 主要用于将proxy数据代理读取的数据按照不同的规则进行解析,将解析好的数据保存到Modle中. 结构图 Ext.data.reader.Reader 读取器的根类(很少直接实例化这个 ...

  7. Nagios的客户端的安装

    一.Linux服务器的nagios客户端的安装 步骤: 1.  创建目录,上传文件到该目录 mkdir /data nagios-plugins-2.1.1.tar.gz nrpe-2.12.tar. ...

  8. Hibernate 配置详解(7)

    hibernate.order_updates: Hibernate文档中提到,该配置用于在刷新一级缓存,提交UPDATE的时候,按照每类对象的主键顺序排序后再提交,可以在高并发情况下减少事务死锁的可 ...

  9. Java 模拟队列(一般队列、双端队列、优先级队列)

    队列: 先进先出,处理类似排队的问题,先排的.先处理,后排的等前面的处理完了,再处理 对于插入和移除操作的时间复杂度都为O(1).从后面插入,从前面移除 双端队列: 即在队列两端都能够insert和r ...

  10. jQuery 弹出窗口的形式一直是具体案件的中心

    在网上查 多 不是不符合无效;因此,一些自己总结,解决这个问题   原则: 常见问题: 弹出层居中了,背景也是半透明的  可是发现一拉动滚动栏立即就露馅了发现背景仅仅设置了屏幕所在段,其它部分都是原来 ...