显示DataGrid序号的一个适用的方法
如果数据量小的话没有问题,一旦数据量大,显示特别慢,还有个缺点就是拖动行高时行号不随行高的变化而变动,出现是几个序号在一个单元格中显示。我自己对他们的算法进行总结,写出一个效果比较不错的带序号的 DataGrid 。原理:只显示表格中显示行的序号,并且拖动行,行号一起移动。
override protected void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
try
{
if(this.DataSource!=null)
{
int yDelta;
System.Drawing .Rectangle cell=this.GetCellBounds(0,0);
int y=cell.Top +2;
e.Graphics.DrawString("编号", this.Font, new SolidBrush(Color.Black), 8, y-18); //
if(this.VisibleRowCount >0)//只在有记录集时在表格中显示序号
{
CurrencyManager cm;
cm = (CurrencyManager) this.BindingContext[this.DataSource, this.DataMember];
if(cm.Count >0)
{
int nRow=-1;
y=41; //为第一行默认高度
while(nRow<0)
{
nRow=this.HitTest (8,y).Row ;
y++;
}
int nCount=0;
while(y<this.Height && nCount<this.VisibleRowCount )
{
string text = string.Format("{0}", nRow+nCount+1);
e.Graphics.DrawString(text, this.Font, new SolidBrush(Color.Black), 10, y);
yDelta = this.GetCellBounds( nRow+nCount,0).Height + 1;//****表示一行高度的参数
y += yDelta;
//如果下面有子行显示序号的区分显示
if(this.IsExpanded (nRow+nCount)&& nRow+nCount+1<cm.Count ) {
y+=this.GetCellBounds (nRow+nCount+1,0).Height +3;
}
nCount++;
}
}
}
}
}
catch
{}
}
重载了DataGrid中的Paint,这样用起来会特别方便,区区雕虫小技,希望和大家共同分享。
相关文章:

Integer的自动缓存
2019独角兽企业重金招聘Python工程师标准>>> Interger装箱有个自动缓存的概念 Integer a 100;Integer b 100;Integer c 200;Integer d 200;System.out.println(a b); //trueSystem.out.println(c d); //false Integer是对象,比较的是对象在内存中…
崩溃!双十一第 4 天,某互联网公司黄了?
01打折这么狠是不是要黄了??今年的双十一,开始地比以往早一些!不知道各位程序员小哥哥们的战绩如何,是不是已经被一轮又一轮的定金、尾款,折腾到数学细胞耗尽?付款了也不清楚自己有没有真正的「…
FreeBSD设备驱动管理介绍(BSP: Ti AM335x)
这段时间一直在忙FreeBSD驱动移植的项目,因此对FreeBSD做了一定的了解,鉴于网上对于FreeBSD的设备驱动资料较少,在这里给出本人对于FreeBSD驱动管理的理解心得(主要是USB驱动管理),希望能对开源开发者有所帮…

视障人士体验自动驾驶:携导盲犬登车,未来有望“自己开”
6月27日,滴滴出行首次面向公众开放自动驾驶服务。用户可通过滴滴APP线上报名,审核通过后,将能在上海自动驾驶测试路段,免费呼叫自动驾驶车辆进行试乘体验。现阶段,滴滴自动驾驶载人测试范围仅限于在上海开放测试道路上…

Listview获取选中行的值
一般情况请注意别先删除了选中行,又去使用。那就会导致找不到选中行。。。。。哥犯了这个错误。。。找了很长时间问题if (this.lstwlview.SelectedIndices.Count > 0) { if (MessageBox.Show("确认删除该条码?",…

asp.net中DataGrid性能测试
作者Blog:http://blog.csdn.net/yzdy/ 测试环境:数据库服务器:2.4G P4 CPU,2G 内存,Windows Advanced Server 2000,SQL Server 2000Web服务器:2.4G P4 CPU,1G 内存,Windows Advanced…

javassist学习笔记
2019独角兽企业重金招聘Python工程师标准>>> 介绍:www.javassist.org/ javassist、ASM 对比 1、javassist是基于源码级别的API比基于字节码的ASM简单。 2、基于javassist开发,不需要了解字节码的一些知识,而且其封装的一些工具类可…
金融领域首个开源中文BERT预训练模型,熵简科技推出FinBERT 1.0
出品 | AI科技大本营头图 | CSDN付费下载于东方IC为了促进自然语言处理技术在金融科技领域的应用和发展,熵简科技 AI Lab 近期开源了基于 BERT 架构的金融领域预训练语言模型 FinBERT 1.0。据悉,这是国内首个在金融领域大规模语料上训练的开源中文BERT预…

raspberry pi下使用mp3blaster播放mp3音乐
首先:sudo apt-get install mp3blaster mp3blaster wode.mp3会报错 但是加padsp mp3blaster wode.mp3 就可以正常播放了

把Excel文件中的数据读入到DataGrid中
作者Blog:http://blog.csdn.net/net_lover/使用Excel文件做为DataGrid的数据源是非常简单的,一旦数据被装载进来,就可以把数据再保存进SQL Server或XML中。我们只需要简单地使用OLE DB Provider 来访问Excel文件,然后返回DataSet即…

Vue 数组中更新属性值后,视图不更新,等待其他元素更新后会触发的解决办法...
因为 JavaScript 的限制,Vue.js 不能检测到下面数组变化: 直接用索引设置元素,如 vm.items[0] {}; 修改数据的长度,如 vm.items.length 0。 this.examineIntro.questionList[0].selList[1].url url;为了解决问题 (…
DeepMind 最新论文解读:首次提出离散概率树中的因果推理算法
翻译 | 高卫华出品 | AI科技大本营头图 | CSDN付费下载自视觉中国当前,一些前沿AI研究人员正在寻找用于表示上下文特定的因果依赖关系清晰的语义模型,这是因果归纳所必需的,在 DeepMind的算法中可看到这种概率树模型。概率树图用于表示概率空…

使用c#+(datagrid控件)编辑xml文件
作者Blog:http://blog.csdn.net/ouyang76cn/ 使用c#(datagrid控件)编辑xml文件 这个源码是我根据网上一个vb.net编辑xml文件的原理用c#重写的。除重用xml文件外.并未重用任何代码!. 这小段代码,可对xml文件的记录进行删除,修改&am…

HorizontalTable
2019独角兽企业重金招聘Python工程师标准>>> HorizontalTable 实现了可水平滚动的 TableView。 转载:http://www.adobex.com/ios/source/details/00000761.htm 转载于:https://my.oschina.net/u/868244/blog/106055

敏捷软件开发的12个原则
作为一个软件工程师,软件设计和开发是最重要的技能,但是,从整个产品的角度上讲,项目管理能力比开发能力更重要,本文摘自Robert大叔的《敏捷软件开发》,粗体是Robert大叔的话,细体是我的理解。 1…

JAVE EE 企业级开发之从零开始学JAVA【51CTO技术论坛】
http://bbs.51cto.com JAVE EE 企业级开发之从零开始学JAVA 从零开始学JAVA?YES!本刊内容全部为午饭redking整理、撰写,所涉及内容均为原创,非常适合入门级JAVA新人学习,从理论到实际,跟随redking一起学习JAVA&#x…
打工人,打工魂,抽终身会员,成为人上人!
今年双11,CSDN直接来了个前所未有的福利大奖!CSDN终身会员还有全站课程免费学!喜欢吗?哈哈哈哈,还没完呢!买CSDN年会员,不要¥299,只要¥199!超级年…

如何创建一个用弹出窗口来查看详细信息的超链接列
如何创建一个用弹出窗口来查看详细信息的超链接列出处:www.dotnetjunkie.com 这篇文章来自于一位忠实的DotNetJunkie的建议,他最初发了一封email给我们,要求我们给出一个例子来说明如何在DataGrid中设置一个当用户点击时能够弹出显示其…

HashSet的使用
2019独角兽企业重金招聘Python工程师标准>>> 1.Set中元素是无序的 HashSet setnew HashSet(); set.add("a"); set.add("b"); set.add("c"); set.add("d"); System.out.println(set);//结果:[d,b,c,a]2.Set不允许…

python实现nginx图形界面管理
好久没有更新博客了,最近一直在学习python,于是,在有空闲的时间写下python视图界面管理nginx,写得不够好,不过希望能帮忙到其他童鞋,再次感叹,强大的python,不说了,上代码。 [rootlo…
小马智行获2.67亿美元新融资,估值超53亿美元
11月6日,小马智行(Pony.ai)宣布获得由加拿大安大略省教师退休基金会(Ontario Teachers Pension Plan,OTPP)旗下教师创新平台(Teachers’ Innovation Platform, TIP)领投总计2.67亿美…

DataSet导出CSV格式(ASP.NET,C#)
DataSet导出CSV格式(ASP.NET,C#)作者:NotMSN:notkinghotmail.comEmail:notssohu.com本文引用下面的 Microsoft .NET 框架类库命名空间:System.Data;System.Web.UI.WebControls;概要本文解决将DataSet导出到CSV格式问题、将DataGrid中的数据导出到CSV格式…

ArcEngine的ToolbarControl解析
转自Love Lyre原文 ArcEngine的ToolbarControl解析 ToolbarControlClass有三个主要的接口: IToolbarControl, IToolbarControl2, IToolbarControlDefault 其中,IToolbarControl2是IToolbarControl的新版本.而IToolbarControlDefault is a pure dispatch interface,始终是I…

在C#里实现DATAGRID的打印预览和打印
作者Blog:http://blog.csdn.net/qieyj/很多人都在论坛里问,如何实现DATAGRID的打印预览和打印,现在我就把这方面的源代码告诉大家。这段代码也花费了我1个晚上的时间,呵呵!数据库是基于sql server2000自带的northwind。…

ORACLE SQL: 经典查询练手第二篇
本文使用的实例表结构与表的数据如下: scott.emp员工表结构如下: SQL> DESC SCOTT.EMP;Name Type Nullable Default Comments -------- ------------ -------- ------- -------- EMPNO NUMBER(4) 员工编号 ENAME…

第十三届光华工程科技奖名单揭晓!这40位专家和1个团体获奖
11月8日,第十三届光华工程科技奖揭晓仪式在北京隆重举行。工程科技是推动人类进步的发动机,是产业革命、经济发展、社会进步的有力杠杆。光华工程科技奖由中国工程院主管,目前已是第十三届,被誉为“中国工程界最高奖项”ÿ…

【C#公共帮助类】给大家分享一些加密算法 (DES、HashCode、RSA、AES等)
http://www.cnblogs.com/yuangang/p/5466068.html转载于:https://www.cnblogs.com/daming1233/p/6704562.html

MongoDB的备份(mongodump)与恢复(mongorestore)
为什么80%的码农都做不了架构师?>>> 不用多想,数据的备份无论什么时候都是必须的,尤其是重要数据。 MongoDB也提供了备份和恢复的功能,分别是MongoDB下载目录下的mongdump.exe和mongorestore.exe文件。 先介绍下命令…

Windows 2000/XP 注册表终极修改(转载)
Microsoft Windows 2000/XP 是一个强大的操作系统,为我们提供了以往Windows 9x从未有过的安全性能,可是你是否感觉某些地方的设置还不够呢,这里就对Windows 2000 的注册表进行一些修改来达到我们的目的。 一、修改开始菜单和任务栏 由于以往不…

百度CTO王海峰获“光华工程科技奖”,深耕自然语言处理近30年
11月8日,第十三届光华工程科技奖揭晓仪式在北京举行。该奖项被誉为“中国工程界最高奖项”,旨在对我国工程科技及管理领域做出杰出贡献的科学家、工程师进行表彰。百度CTO王海峰因其在人工智能领域、尤其是自然语言处理领域的卓越贡献,成为AI…