`
happmaoo
  • 浏览: 4308648 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

DataGrid的常见问题

阅读更多

当我们刚接触DataGrid时候,可能会对它不太熟悉,有时候一些常见的设置都会让你苦恼半天,鉴于此,我总结了一下它的比较常见的用法,希望能给刚接触DataGrid的人一些帮助。

对每一列进行一些设置,这里就要我们对DataGrid的列有一定的认识,它的列可分为两种,DataGridTextBoxColumn DataGridBoolColumn 。当然你也可以添加你自己的列的样式,只要继承DataGridColumnStyle就行了(当然还要重写一些方法)。

下面是一段代码:

DataGridTableStyle style=new DataGridTableStyle();<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

style.MappingName=ds.Tables[0].TableName.ToString();

DataGridBoolColumn colu=new DataGridBoolColumn();

colu.MappingName="IsSelect";//映射到表的某一列

colu.HeaderText=""; //列的表头名字

colu.TrueValue="Y"; //打勾时的值

colu.FalseValue="N";

colu.Width=40; //设置改列的宽度

colu.AllowNull=false; //不允许为null

colu.ReadOnly=true; //把改列设置为只读的

style.GridColumnStyles.Add(colu);

上面的代码就是创建了一个DataGridBoolColumn列,该列就是一个CheckBox列,CheckBox有三种状态,true,false,null,你可以通过设置colu.AllowNull=false;取消第三种状态。

再看一段代码,它是创建 DataGridTextBox

DataGridTextBoxColumn col;

col=new DataGridTextBoxColumn();

col.MappingName="dMinimumPV";

col.HeaderText="最低累积业绩";

col.Alignment=HorizontalAlignment.Right;//该列的对齐方式

col.Format="#,###.00"; //设置显示的格式

col.Width=90;

style.GridColumnStyles.Add(col);

相信这两段代码应该让你对DataGrid的列的设置有了一定的了解了吧!

二 捕获DataGrid里的双击事件,本来很简单的问题,可是如果你只对DataGridDoubleClicked里写程序的话,你就会发现一个问题,在DataGridcell里双击时没有反应,这是因为在DataGrid里有TextBox组成,所以你就需要捕获TextBoxDoubleClicked事件,但你完成这一步时,看看效果咋样,如果你仔细的话,你就又会发现一个问题,当光标还没有在一个单元格时,双击该单元格,发现了什么?没有任何反应,明明双击了吗,为啥呢?这是因为DataGrid把这个双击操作分解了,分为两个单击,第一个使该单元格获得光标,第二个为单击事件,所以你的双击就没有反应了,所以我们要做的就是把这个动作当作双击事件来处理,这样就达到我们的目的了。所以捕获一个双击事件就要做三件事。下面是一段代码。

第一步:

private void dgRole_DoubleClick(object sender,System.EventArgs e)

//dgRoleDataGrid

{

this.frmRoleRightShow(); //我们双击要做的事

}

第二步:

private void TextBox_DoubleClick(object sender,System.EventArgs e)

{

this.frmRoleRightShow();

}

第三步:

DateTime gridMouseDownTime;

private void dgRole_MouseDown(object sender,System.Windows.Forms.MouseEventArgs e)

{

gridMouseDownTime=DateTime.Now; //纪录时间

}

private void TextBox_MouseDown(object sender,MouseEventArgs e)

{

if(DateTime.Now < gridMouseDownTime.AddMilliseconds(SystemInformation.DoubleClickTime))

//如果两次单击的时间小于系统的双击时间,我们就把它认为是双击操作

{

this.frmRoleRightShow();

}

}

三 怎样取某一个单元格的值?一行代码,如下:

String strRole=dgRole[row,column].ToString();



以上是我通过看csdn上的贴子和在实践中总结出来的,如果你对DataGrid的使用有什么心得的话,不妨把它写出来,与大家分享。

作者Blog:http://blog.csdn.net/rijing2000/
分享到:
评论

相关推荐

    ASP.NET中Datagrid常见错误

    Datagrid 控件是ASP.NET中功能最强、用途最广的 Web 控件之一,虽然Datagrid 控件易于使用,但同样易于给使用者带来麻烦。文中罗列了一些易犯的一些错误。

    ASP.Net开发者常见 Datagrid 错误

    摘要:学习如何避免在使用 ASP.NET Datagrid 控件进行开发时可能发生的一些常见错误。  Datagrid 控件是 Microsoft® ASP.NET 中功能最强、用途最广的 Web 控件之一,这一点已经得到了 ASP.NET 权威人士的认同。...

    动态的管理ASP.NET DataGrid数据列

    其中最常见的方法是在web forms设计器中增加,通过在控件工具箱中拖访DataGrid控件到web设计页面,然后在属性生成器中增加Columns列;还有一种方式就是在 HTML视图模式下更改HTML代码的方式增加Columns列。本文中将向...

    使用DataGrid完成一个行级数据折叠收缩展示的功能

    WPF中使用DataGrid完成一个行级数据折叠收缩展开的功能,通过点击行头折叠或者展开明细数据。该能能常见的使用在数据的明细汇总展示上,初始展示汇总数据点击展示某行汇总的结果展示对应的明细信息。

    ASP.NET常见问题集锦.zip

    ASP.NET常见问题集锦.zip . .. .net中中文乱码问题解决.txt ADO.NET 与 XML:双剑合壁,威力强大.doc ASP.NET HTTP 运行时.doc ASP.NET ViewState 初探.doc ASP.NET Web 方法中的 XmlElement 参数的功能.d ...

    动态管理ASP.NET DataGrid数据列

    其中最常见的方法是在web forms设计器中增加,通过在控件工具箱中拖访DataGrid控件到web设计页面,然后在属性生成器中增加Columns列;还有一种方式就是在 HTML视图模式下更改HTML代码的方式增加Columns列。

    清空datagrid数据的特例

    使用easyUI中的datagrid时遇到的问题总结,其中主要说明了大家常见的两种数据清空方式,还有一种我遇到的网上没有的数据清空方式,有需要的可以参考一下

    ASP.NET中为DataGrid添加合计字段

    论坛中最常见的一个问题是:“ 我怎样在 DataGrid 中显示列合计?”。 我亲自多次为这个问题提供了示例代码,因此,我想在DotNetJunkies 的标题中提供这么一份指南。 在这份指南中你将会学到怎样在 DataGrid 中编程...

    DataGrid使用最佳实践(Best Practices for BataGrid)

    DataGrid 中一些常见的用法 包括模板列的使用,导出Excel,分页,自定义控件等等 里面附加有调试用的数据库

    项目开发常见问题 pdf

    华迪实训项目开发常见问题 目 录 MS SQL 数据库 .......................................................2 WEB 应用开发........................................................4 VS2005 DataView ...

    C#基于数据库的DataGrid分页示例代码

    C#基于数据库的DataGrid分页示例代码,从数据库读取内容并分页显示,遗憾的是,数据库遗失了,不过代码还是可以参考的,必竟是挺简单的基础级代码,分页也是大家在日常统编程中常见到的事。

    PHP – EasyUI DataGrid 资料取的方式介绍

    EasyUI DataGrid 是一个用 Jquery 写的 DataGrid,由此可知,是一个 前端 Web UI 技术,一般大家在产生 DataGrid 比较常见的应该就是使用后台 PHP 等后台语言,来直接产生 HTML 语法,来显示 DataGrid,当要对该 ...

    ASPNET问题登记系统源码

    此源码主要用于实现医院信息科问题的登记以及跟踪,以及日志的管理... 2、常见问题管理 3、用户管理 4、日志管理 5、信息统计 三、注意事项 1、开发环境为Visual Studio 2013,数据库为Oracle,使用.net 4.0开发。

    MF00531-ASP.NET问题登记源码.zip

    ASP.NET问题登记系统源码 工作日志管理系统源码 开发语言 : C# 数据库 : Oracle 开发工具 : VS2013 源码类型 : WebForm ...菜单功能:1、问题信息的管理 2、常见问题管理 3、用户管理 4、日志管理 5、信息统计

    datagrid:FSi DataGrid是使用特殊的列对象显示集合(数据源)中的项目的组件

    显示对象列表是Web应用程序中最常见的任务之一,并且可能是最简单的任务,因此您可能会问这个组件如何为您提供帮助? FSi DataGrid组件使您可以创建一个动作,以处理显示应用程序中的所有类型的列表,而无需复制...

    C#_DataGridView控件使用全攻略

    大部分章节含有一个換 & A”部分,来回答该章节相关的一些常见问题。注意,某些问题会由 于知识点的关联性重复出现在多个章节。这些问题、答案及其附带的示例代码都包含在本文档的附 录部分。 注意:本文档的大部分...

    ndg_security_common:NDG Security是为英国自然环境研究委员会资助的NERC DataGrid开发的安全系统。 这是常见组件的包装

    ndg_security_common NDG Security是为英国自然环境研究委员会资助的NERC DataGrid开发的安全系统。 这是常见组件的包装。 NDG Security的开发旨在为用户提供跨NDG参与组织的安全资源的无缝联合访问,同时提供易于在...

    DataGridView控件使用大全

    DataGridView是用于...大部分章节含有一个“Q & A”部分,来回答该章节相关的一些常见问题。注意,某些问题会由于知识点的关联性重复出现在多个章节。这些问题、答案及其附带的示例代码都包含在本文档的附录部分。

    DataGridView控件使用大全.doc

    DataGridView控件 ...大部分章节含有一个“Q & A”部分,来回答该章节相关的一些常见问题。注意,某些问题会由于知识点的关联性重复出现在多个章节。这些问题、答案及其附带的示例代码都包含在本文档的附录部分。

Global site tag (gtag.js) - Google Analytics