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. -force_load

    Crash Log: Last Exception Backtrace: 0   CoreFoundation                 0x2f087f06 __exceptionPrepro ...

  2. Ajax 下拉列表联动显示

    一般处理程序文件 代码 using System;using System.Web;using System.Linq;using System.Data.Linq;using System.Text ...

  3. javascript(五)验证

    <input id="domo"  type="text"> <script> function my_function(){ var ...

  4. Delphi面向对象设计的经验原则(61条)

    (1)所有数据都应该隐藏在所在的类的内部. (2)类的使用者必须依赖类的共有接口,但类不能依赖它的使用者. (3)尽量减少类的协议中的消息. (4)实现所有类都理解的最基本公有接口[例如,拷贝操作(深 ...

  5. Delphi与C++的语法区别(六点区别) good

    一.Delphi永远没办法在栈上创建一个对象 下面是一段常见的的Delphi代码,在过程的开头声明本过程所需要的全部局部变量: procedure Foo;var obj: TObject; //这句 ...

  6. Java学习笔记4

    Java学习笔记4 1. JDK.JRE和JVM分别是什么,区别是什么? 答: ①.JDK 是整个Java的核心,包括了Java运行环境.Java工具和Java基础类库. ②.JRE(Java Run ...

  7. C++环形矩阵填充实现

    #include<iostream> #include<iomanip> #include<cstdlib> #include<ctime> #incl ...

  8. freemark换行输出

    <!--附件图片-->              <#if attatList? exists>       <#if (attatList?size>0)> ...

  9. C语言编写的bmp读写程序

    C语言编写的bmp读写程序 建议先把bmp的数据存储格式了解下 <span style="font-size:16px;">#include "Windows ...

  10. Linux Shell脚本编程--curl命令详解

    用途说明 curl命令是一个功能强大的网络工具,它能够通过http.ftp等方式下载文件,也能够上传文件.其实curl远不止前面所说的那些功能,大家可以通过man curl阅读手册页获取更多的信息.类 ...