在线等待,datagridview 焦点迁移,单元格着色的问题

问题描述

环境:VB.NET(WINFORM)实现功能:datagridview里面对编辑的单元格做验证功能,如果验证未通过,着色,焦点不迁移我用了以下方法实现,可实现焦点不迁移,但是当前处于编辑状态的单元格无法上色,请各位大虾不吝赐教!!PrivateSubDataGridView1_CellValidating(ByValsenderAsObject,ByValeAsSystem.Windows.Forms.DataGridViewCellValidatingEventArgs)HandlesDataGridView1.CellValidatingIfe.ColumnIndex=2AndAlsoe.RowIndex=2_AndAlsoDataGridView1.Rows(2).Cells(2).Value="ab"ThenDataGridView1.Rows(2).Cells(2).Style.BackColor=Color.Bluee.Cancel=TrueExitSubEndIfEndSub

解决方案

解决方案二:
如何:通过扩展Windows窗体DataGridView控件中单元格和列的行为和外观对其进行自定义MSDN地址:ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.VisualStudio.v80.chs/dv_fxmclictl/html/9b7dc7b6-5ce6-4566-9949-902f74f17a81.htm#codeExampleSection
解决方案三:
我觉得你的设计思路不是太好,你着色的目的无法是为了提醒用户输入的数据是非法的,那么你为什么不让移动焦点呢?只有移动了焦点才提醒不是更合理吗?这样做要容易的多。如果你不让移动焦点根本无需着色啊?因为输入不合法根本就无法离开的编辑的Cell,又来着色不是多此一举吗?反而为编程带来更大的难处。
解决方案四:
你把着色的那段代码DataGridView1.Rows(2).Cells(2).Style.BackColor=Color.Blue放在e.Cancel=True之前
解决方案五:
之后妈的打错了
解决方案六:
对不移动焦点这个有点不合理,但是好像还是可以实现的你遍历你要检查的那个单元格,若出现不合法就将其背景色设置this.DataGridView1.Rows[i].DefaultCellStyle.BackColor=Color.Green;这样就好了
解决方案七:
1楼的大哥,不知道你在说什么,而且你给东西在我的联机帮助里打不开2楼的兄弟,不是我想要得,是客户就这么变态3楼的弟兄,这个方法我试过,一样不能着色5楼的兄台,你的这个想法我在DataGridView1_CellPainting里面遍历过,不行似乎只要E.CANCEL,处于激活状态的单元格就不能再做任何操作谢谢各位热心帮助
解决方案八:
如果作为一个程序员,完全要按客户的要求做,那就太失败了,那样你还不要累死啊,如果他提出的你不能实现咋办呢?应该是你引导他按你的意思去操作,只要实现功能就行了。就算是妓女,也可以拒绝客户的无理要求的
解决方案九:
7樓說的好.

时间: 2025-01-21 11:40:59

在线等待,datagridview 焦点迁移,单元格着色的问题的相关文章

winform 点击datagridview里面某个单元格时弹出qq对话框?

问题描述 winform 点击datagridview里面某个单元格时弹出qq对话框? winform 点击datagridview里面某个单元格时弹出qq对话框? 解决方案 Process.Start("qq程序的路径qq.exe") 解决方案二: 功能没有问题,可以实现,签定完毕. 解决方案三: 你可以尝试看下网页上点击链接弹出qq对话框的那个是否可以在winform里使用 <a class="ml10" href="http://wpa.qq.

dataGridView一个个单元格很浪费性能,动态频繁添加新数据该咋怎么弄好?

问题描述 this.dataGridView1.Rows[index].Cells[0].Value="1";this.dataGridView1.Rows[index].Cells[1].Value="2";this.dataGridView1.Rows[index].Cells[2].Value="监听";dataGridView一个个单元格很浪费性能,动态频繁添加新数据该咋怎么弄好? 解决方案 解决方案二:this.dataGridView

DataGridView怎么实现单元格是文本框和按钮组合

问题描述 1.需要做一个DataGridView控件,个别单元格是文本框和按钮组合,单元格右边是个按钮,点击按钮弹出一个对话框,如图:2.在单元格中绘制按钮,比较简单,但是当界面最大化或者改变列宽时,按钮位置没有移动,目的是让按钮出现在设置数据的最右边,如图:希望大神指点,感激不尽! 解决方案 解决方案二:肯定是绘制方法有问题了,看看这些行不行.http://blog.csdn.net/heku518/article/details/3239135http://www.cnblogs.com/p

DataGridView 合并header单元格

问题描述 CellPainting(){绘制header}显示ok但是如果鼠标改变单元格宽度,header就不会正常刷新,请教 解决方案 解决方案二:是不是需要在改变宽度的事件里重绘header解决方案三:jiejue解决方案四:楼主有点不厚道,解决了也说一下办法,让大家学习一下吗解决方案五:顶上来让他说解决方案六:好像还有问题,如果显示不全,托动滚动条还有问题,继续求解publicpartialclassBalanceDataGridView:DataGridView{privatestrin

C# winform DataGridView 内的单元格(带背景色)直接画线连接

问题描述 目前是这样想弄成这样因为数据是不断更新的,DataGridView(图内就一个DataGridView控件)会出现滚动条,所以各单元格的坐标是动态变化的,真的不会整GDI+这东西,求指教,谢谢. 解决方案 解决方案二:求个大神来看看啊,各种感谢解决方案三:真的没有人能给指教两句吗?解决方案四:彩票计算程序?解决方案五:引用3楼oysy的回复: 彩票计算程序? 对啊,大神有办法吗?

C++ datagridview动态合并单元格代码

效果如下图第一列"国家",相同的数据可以合并为一个单元格显示. 我的datagridview数据源是通过图形化界面拖放dataset与数据库教程绑定的 /// <summary> /// 合并GridView中某列相同信息的行(单元格) /// </summary> /// <param name="GridView1">GridView</param> /// <param name="cellNum

DataGridView 中合并单元格

Windows Forms DataGridView 没有提供合并单元格的功能,要实现合并单元格的功能就要在CellPainting事件中使用Graphics.DrawLine和 Graphics.DrawString 自己来"画". 下面的代码可以对DataGridView第1列内容相同的单元格进行合并:        private void dataGridView1_CellPainting(object sender, DataGridViewCellPaintingEven

如何取得datagridview中某个单元格的值???在线等

问题描述 如题.... 解决方案 解决方案二:知道了.解决方案三:兄弟,知道了,貼出來看看啊.我也想知道.謝謝咯!!!解决方案四:stringa=datagridview1.rows[1][2].text;解决方案五:dataGridView1.Rows[1].Cells[2].Value.ToString()解决方案六:取出的是字符串,是数据怎么办?后面要运算?

C# 鼠标悬停在datagridview的某单元格,显示悬浮框效果

本文转载:http://www.cnblogs.com/bribe/archive/2013/10/08/3357345.html 今天在做项目时,看到一软件做的悬浮框效果不错,从网上搜罗了一些资料,未见到有十分好的解决办法,只能自已动手,利用datagridview 的ToolTipText 来达到此效果.     以下是我简单实现的代码,供参考.后续会再仔细测试,如有问题,会一并作更新: 1 private void dgvProduct_CellMouseEnter(object send