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. myBatis 基础测试 表关联关系配置 集合 测试

    myBatis 基础测试 表关联关系配置 集合 测试 测试myelipse项目源码 sql 下载 http://download.csdn.net/detail/liangrui1988/599388 ...

  2. fopen()功能

    1.2 文件输入和输出功能 键盘.显示器.打印机.磁盘驱动器和其他逻辑器件, 输入和输出可以通过文件管理方法可以完成. 最经常使用的编程是一个磁盘文件, 因此,这一部分主要是基于磁盘文件, 简介Tur ...

  3. jQuery EasyUI API 中文文档 - 链接按钮(linkbutton)

    <html> <head> <script src="jquery-easyui/jquery.min.js"></script> ...

  4. 怎样用Java编写一段代码引发内存泄露

    通过下面步骤能够非常easy产生内存泄露(程序代码不能訪问到某些对象,可是它们仍然保存在内存中): 应用程序创建一个长时间执行的线程(或者使用线程池,会更快地发生内存泄露). 线程通过某个类载入器(能 ...

  5. CF 316C2(Tidying Up-二分图最大边权)

    C2. Tidying Up time limit per test 4 seconds memory limit per test 256 megabytes input standard inpu ...

  6. 解决Qt程序在Linux下无法输入中文的办法

    解决Qt程序在Linux下无法输入中文的办法 一位网友问我怎样在Linux的Qt的应用程序中输入中文,我一開始认为不是什么问题,可是后面自己尝试了一下还真不行.不仅是Qt制作的应用程序,就连Qt Cr ...

  7. 解析php混淆加密解密的手段,如 phpjm,phpdp神盾,php威盾

    原文 解析php混淆加密解密的手段,如 phpjm,phpdp神盾,php威盾 php做为一门当下非常流行的web语言,常常看到有人求解密php文件,想当年的asp也是一样.一些人不理解为什么要混淆( ...

  8. MySQL字符串函数、日期时间函数

    MySQL字符串函数.日期时间函数 一.常见字符串函数: 1.CHAR_LENGTH  获取长度(字符为单位) 2.FORMAT  格式化 3.INSERT  替换的方式插入 4.INSTR  获取位 ...

  9. hdu4289(最小割)

    传送门:Control 题意:有n个城市,有个小偷想从其中一个城市逃到另一个城市,警察想要堵截这个小偷,知道了在每个城市堵截的成本,问如何安排在哪些城市堵截可以使得小偷一定会被抓住,而且成本最低. 分 ...

  10. 【Bug Fix】Error : Can&#39;t create table &#39;moshop_1.#sql-534_185&#39; (errno: 150)

    运行alter操作, alter table xx_shop_info add index FK9050F5D83304CDDC (shop_area), add constraint FK9050F ...