Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何阻止设置了过滤器的DataGridView在列表中移动得太远?

如何阻止设置了过滤器的DataGridView在列表中移动得太远?
EN

Stack Overflow用户
提问于 2011-06-23 14:05:45
回答 1查看 509关注 0票数 2

考虑绑定到某个数据库的dataGridView。dataGridView的绑定源有一个筛选器,它只显示description字段为空的位置。

这样的想法是,用户只会看到具有此值的记录,这些记录需要他们的注意。用户将始终将该值更改为其他值。

我的问题是,一旦它们通过enter或tab键移动到下一行,它几乎在移动到下一行之后就会过滤,将其位置移到它们应该在的位置下面的行。

是否有一种方法来控制此行为,使该位置在过滤发生后不会跳到下一行?虽然我知道这是一个解决方案,但我不想对这个特定问题进行单独的填充。我想知道如何更好地控制过滤,如果可能的话。

编辑

值得注意的是,我没有将任何事件连接到datagridview,这是将控件拖到窗体上、从dataset连接绑定源和填充form_load事件上的数据集的开箱即用的行为。

编辑

当前行为的示例- (C)表示游标位置

用户在第2行中键入名称并将状态设置为TRUE

代码语言:javascript
运行
AI代码解释
复制
R1 - John Doe     FALSE
R2 - Jane Doe     TRUE (C)
R3 - Rob  Doe     FALSE
R4 - Joe  Doe     FALSE

用户按返回(或制表符,不管是谁,在本例中它的输入.)

代码语言:javascript
运行
AI代码解释
复制
R1 - John Doe     FALSE 
R3 - Rob  Doe     FALSE 
R4 - Joe  Doe     FALSE (C)

当前选定的行现在是第4行,实际上应该是第3行。如果没有将R2的值从false更改为true,它就不会过滤,并且将正确地移动到第3行。

编辑

从死亡中复活,因为我还没有得到一个合适的解决这个问题的方法。有谁有创意吗?^_^

EN

回答 1

Stack Overflow用户

发布于 2011-06-23 22:32:50

不久前,我对DataGridView也有同样的问题。

我希望更改Enter键的行为,以将选定的行向上移动而不是向下移动。这就是我所做的,我希望它能帮助你。我创建了一个继承DataGridView的控件,并重写了ProcessCmdKey并对其进行了更改。就你而言,你想做的是:

代码语言:javascript
运行
AI代码解释
复制
public partial class MyDataGridView : DataGridView
{
    protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
    {
        if (keyData == Keys.Tab || keyData == Keys.Enter)
        {
            return true;
        }

        return base.ProcessCmdKey(ref msg, keyData);
    }
}

这将阻止gridView在按Enter或Tab时移动到下一行。我希望它对你有用,如果它不请说是什么问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6461150

复制
相关文章
在DataGridView控件中加入ComboBox下拉列表框的实现
本文转载:http://www.cnblogs.com/luqingfei/archive/2007/03/28/691372.html
跟着阿笨一起玩NET
2018/09/18
4.1K0
在DataGridView控件中加入ComboBox下拉列表框的实现
gridview属性_datagridview设置列宽
using System; using System.Collections.Generic; using System.Text; using System.Drawing; using System.Windows.Forms;
全栈程序员站长
2022/11/09
1.9K0
DataGridView 密码列(显示为*号)的设置
曾经为在DataGridView中设置密码列(显示为*号)而发愁,如何把Windows 窗体 DataGridView 的某一列的数据显示为“*”。
Java架构师必看
2021/03/22
2.5K0
C#dataGridView字体显示设置
1.设置dataGridView中数据的显示风格,需要设置DefaultCellStyle里面的SelectionBackColor还有Font(字体设置).
恋喵大鲤鱼
2018/08/03
1.9K0
html如何设置有序列表的列表项,HTML的有序列表
针对HTML的有序列表,由于平常使用的不是很多,刚开始使用的时候也是有遇到一些坑,有几个小问题:
全栈程序员站长
2022/07/02
3.4K0
html如何设置有序列表的列表项,HTML的有序列表
bindingnavigator如何与datagridview绑定
BindingNavigator 控件一般要与BindingSource 控件一同使用较为方便,因为对于 BindingNavigator 控件上的每个按钮,都有一个对应的 BindingSource组件成员,其以编程方式允许有相同功能。例如,MoveFirstItem 按钮对应于 BindingSource 组件的 MoveFirst 方法,DeleteItem 按钮对应于RemoveCurrent方法,等等。尽管 BindingNavigator 可以绑定到任何数据源,但它被设计为通过其BindingNavigator.BindingSource 属性与BindingSource 组件集成。
全栈程序员站长
2022/09/14
2K0
如何阻止云中的DDoS攻击
从2022年1月到7月,Sysdig威胁研究团队实施了一个全球蜜网系统,通过多个攻击载体捕获了大量漏洞。Sysdig在《2022年云原生威胁报告》中指出,相较2021年,2022年的攻击类型已经从加密挖矿明显转向分布式拒绝服务(DDoS)活动。 如果组织希望通过检测与此威胁相关的早期迹象,来了解如何在云环境中预防DDoS攻击,那么本文将介绍保护云基础设施所需的大多数最佳实践。 云中DoS攻击的技术和方法 在OSI(Open Systems Interconnection)模型中,DDoS攻击的模式和行为
FB客服
2023/02/24
1.8K0
如何阻止云中的DDoS攻击
Atom飞行手册翻译: 2.2 在Atom中移动
用鼠标和方向键,简单地在Atom中移来移去非常容易,然而Atom有一些快捷键,可以让你把手一直放到键盘上,更快速地浏览文档。
ApacheCN_飞龙
2022/11/27
1.1K0
Atom飞行手册翻译: 2.2 在Atom中移动
Pandas基础:在Pandas数据框架中移动列
有时候,我们需要在pandas数据框架内移动一列,shift()方法提供了一种方便的方法来实现。
fanjy
2022/06/04
3.4K0
Pandas基础:在Pandas数据框架中移动列
❤️ 如何在 Pygame 中移动你的游戏角色 ❤️
Pygame是一组跨平台的 Python 模块,专为编写视频游戏而设计。它包括旨在与 Python 编程语言一起使用的计算机图形和声音库。您可以使用 pygame 创建不同类型的游戏,包括街机游戏、平台游戏等等。
海拥
2021/09/09
2.5K0
❤️ 如何在 Pygame 中移动你的游戏角色 ❤️
在ORACLE中移动数据库文件
在ORACLE中移动数据库文件 --ORACLE数据库由数据文件,控制文件和联机日志文件三种文件组成。 --由于磁盘空间的变化,或者基于数据库磁盘I/O性能的调整等, --我們可能会考虑移动数据库文件。 --下面以LUNIX平台为例,分别讨论三种数据库文件的移动方法。 一.移动数据文件: -- 可以用ALTER DATABASE,ALTER TABLESPACE两种方法移动数据文件。 1. ALTER DATABASE方法; -- 用此方法,可以移动任何表空间的数据文件。 STEP 1. 下数据
阿新
2018/04/12
1.4K0
C# WinForm 设置DataGridView选中指定行
也有其他网友代码Cells[0]; 如下: 我试了 ,填0和1调试报错。所以 我填2
全栈程序员站长
2022/09/14
7240
是得懂点DNS了
毕设中一直接触到这个东西,想用,但是不熟。今天看到一篇文章:DNS + nginx 的妙用,是得熟悉一下 DNS 了。
看、未来
2022/05/06
6590
是得懂点DNS了
有了她,谁敢阻止我学习
公众号 1、Python爱好者社区,微信号:python_shequ 人生苦短,我用Python。分享Python相关的技术文章、工具资源、精选课程、视频教程、热点资讯、学习资料等。每天自动更新和推送。 2、Python爬虫分享,微信号:python_shequ 知乎专栏“爬虫从入门到放弃”作者。目前在知乎连载爬虫从入门到放弃到精通系列文章 3、张俊红,微信号:zhangjunhong0428 中国统计网专栏作者,数据分析路上的学习者与实践者,与你分享我的所见、所学、所想。 4、数据小魔方,微信号:data
小歪
2018/04/04
8910
【防护】如何阻止SELECT * 语句
利用思路(仅供参考): 今天在网上看了一篇文章,是用来防止select * 的思路,其实这个可以用于安全防护的,在你出现注入的时候很多都是解猜,很多脚本小子都会用selcet * 或者 or 1=1 之类的解猜所有,但如果你一查所有就报错呢?是不是能有效的防防那些脚本小子呢? 我们每个人都知道是个不好的做法,但有时我们还是要这样做:我们执行SELECT * 语句。这个方法有很多弊端: 你从你的表里返回每个列,甚至后期加的列。想下如果你的查询里将来加上了VARCHAR(MAX)会发生什么…… 对于指定的查询
逸鹏
2018/04/09
1.1K0
【防护】如何阻止SELECT * 语句
我是如何一不小心阻止了勒索病毒的全球蔓延
原作者 MalwareTech 编译 CDA 编译团队 本文为  CDA 数据分析师原创作品,转载需授权 前言 上周全球爆发电脑勒索病毒,“疫情”已波及 99 个国家。包括中国、俄罗斯、英国、美国在内的众多国家,都被该病毒搅得鸡犬不宁。 除英国国家医疗服务体系(NHS)、美国联邦快递、西班牙电信公司外,俄罗斯内政部的1000 多台电脑也纷纷“中招”,受到严重影响。而据俄罗斯RT新闻网报道,最新的数据统计显示,全球范围内已有超过 10 万台电脑被攻击。 但就在这场损伤巨大的全球“浩劫”中,一位“意外的英雄
CDA数据分析师
2018/02/26
1.6K0
我是如何一不小心阻止了勒索病毒的全球蔓延
Redis 再牛逼,也得设置密码!
还有,比如像出现下面这样的错,需要设置密码,或者关闭保护模式,所以还是设置密码比较安全。不然只能本地操作,不能远程连接。
Java技术栈
2018/09/29
1.3K0
Super快报第25期:中移动终于可以吃苹果了?
1、德国立法要求谷歌向内容发布商付费 德国立法者周五通过了一项提案,允许内容发布商向搜索引擎和其他网络内容聚合商收取内容使用费,但仍然允许这类企业免费使用文本链接和摘要。   该立法提案最早是去年由德国总理默克尔(Angela Merkel)提交的。外界认为,此举表明欧洲政府将加大立法进程,迫使谷歌等公司与他们所使用的内容来源分享巨额广告收入。 笔者前几天的文章《搜索引擎的大数据时代》(请移步至博客(www.xiaoshejian.com))曾提出观点:“搜索吃了免费数据10多年,接下
罗超频道
2018/04/25
6600
BI 产品中过滤器设置
腾讯云商业智能分析团队
2017/09/15
3.2K0
BI 产品中过滤器设置
BindingNavigator操作DatagridView的数据[通俗易懂]
大家好,又见面了,我是你们的朋友全栈君。 参考 http://wenku.baidu.com/link?url=NWfEfArPZvDO_aI-xEKBHVGoZY9wQO_Oty_GCsGLiPsp
全栈程序员站长
2022/09/14
1.1K0

相似问题

如何阻止TextView在其他项目RelativeLayout之外扩展得太远?

42

头伸得太远

11

jQuery移动按钮伸得太远

43

在fullCalendar中,事件呈现得太远了

11

Div在页面中延伸得太远了

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档