Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > .NET > C#.NET > winform DataGrid 点滴
【标  题】:winform DataGrid 点滴
【关键字】:winform,DataGrid
【来  源】:http://myth.cnblogs.com/archive/2006/04/26/385917.html

winform DataGrid 点滴

Your Ad Here

一、DataGridTableStyle.MappingName

DataGrid 有一个TableStyles属性,包含一个类型为DataTableStyle的对象集合,用来设置DataGrid的样式。DataTableStyle的MappingName属性设置了它与数据源的对应关系,比如我绑定一个TableName为"Table1"的DataTable到DataGrid上,这个DataGrid包含一个DataTableStyle,绑定之后,这个Style的样式还是无法应用,因为它的MappingName还没有设为"Table1"

数据源为DataSet或DataTable时,MappingName为DataTable的TableName。数据源为其它的呢?其实所有可以作为DataSource的对象(支持DataSource的规则见MSDN)有一个统一的方法,即:MappingName = 数据源对象.GetType().Name
1.强类型Array  比如说一个YourClass[] 对象作为数据源绑定到Grid上,则Style的MappingName设为 "YourClass[]",同样,这个值可以通过 对象.GetType().Name  获取
2.ArrayList    MappingName="ArrayList"
3.List<T>    这个MSDN没有说明,比如说一个List<YourClass>对象作为数据源绑定到Grid上,MappingName可以为 "List`1",这个值也可通过 对象.GetType().Name  获取

二、自动设置列宽

代码不写了,下在把实现一个通用Grid样式生成器的思路说一下:

DataGrid.CreateGraphics().MeasureString(string text, Font font) 方法可以测量字符串长度

确定数据源后,每一个列按照如下步骤进行:先从列标题开始,然后逐行遍历数据源中的数据,算出最长的宽度,最后把此列的列宽设为最长宽度加一个自定义值。

DataTable、DataSet逐行遍历数据很简单,如果是自定义集合,可以用反射得出数据。

Community Server系列之五:CS2中的Ajax原理:【上一篇】
抽象程度思考:【下一篇】
【相关文章】
  • 用代码创建DataGrid的多链接及checkbox事件响应(downmoon)
  • DataGrid实现自定义分页,鼠标移至变色,删除确认、可编辑,可删除
  • Winform中在Form上截取消息的两种方法
  • Winform 的一个多线程绑定DataGrid数据源的例子
  • 处理winform程序从vs.net2003到2005的升级
  • 将DataGrid数据写入Excel文件。
  • 另类DATAGRID数据编辑修改
  • WinForm程序启动时不显示主窗体的实现方法
  • 单击DataGrid的行,使这行的数据显示在这个页面的下面,有点像winform的一个列表
  • 本人写的分页的标签,和.net中的datagrid标签相似,只需要设置几个属性就可以实现分页功能了
  • 【随机文章】
  • 用PHP和ACCESS写聊天室(三)
  • fvwm下的几个命令
  • 2 useful commands of windows
  • 四个Gmail邀请
  • 如何在红旗下解压rar文件。
  • Photoshop高级图层技巧进阶篇(上)
  • 微软面试题大全
  • Delphi写QQ聊天记录器演示程序
  • XmlHttp学习笔记
  • debian内核防毒AntiVir安装
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.