- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
考虑绑定(bind)到某个数据库的 dataGridView。 dataGridView 的绑定(bind)源有一个过滤器,它只会显示描述字段为空的地方。
想法是用户只会看到具有此值的记录,需要他们注意的记录。用户总是会将该值更改为其他值。
我的问题是,一旦他们通过 enter 或 tab 键移动到下一行,它几乎在他们移动到下一行后进行过滤,将其位置移动到它们应该在的下一行。
有没有办法控制这种行为,以便在过滤发生后位置不会跳到下一行?尽管我知道这是一个解决方案,但我不想针对这个特定问题对数据集进行单独填充。如果可能的话,我想知道如何更好地控制过滤。
编辑
值得注意的是,我没有将任何事件连接到 datagridview,这是将控件拖到窗体上、从数据集中将绑定(bind)源连接到它并填充数据集的开箱即用行为在 form_load 事件上。
编辑
当前行为示例 - (C) 表示光标位置
用户在第 2 行键入一个名称并将状态设置为 TRUE
R1 - John Doe FALSE
R2 - Jane Doe TRUE (C)
R3 - Rob Doe FALSE
R4 - Joe Doe FALSE
用户按下回车键(或 Tab 键,哪个并不重要,对于这个例子是回车...)
R1 - John Doe FALSE
R3 - Rob Doe FALSE
R4 - Joe Doe FALSE (C)
当前选定的行现在是第 4 行,而它实际上应该是第 3 行。如果我没有将 R2 的值从 false 更改为 true,它就不会进行过滤,并且会正确地将我移动到第 3 行
编辑
起死回生,因为我还没有收到解决这个问题的合适方法。那里有人有创意吗? ^_^
最佳答案
我刚才在 DataGridView
上遇到了同样的问题。
我想更改 Enter 键的行为以将选定的行向上而不是向下移动。以上是我的做法,希望对你有帮助。我制作了一个继承 DataGridView 的控件,并覆盖了 ProcessCmdKey
并在其中进行了更改。在你的情况下你想要做的是:
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 时移动到下一行。我希望它对你有用,如果没有请说出问题是什么。
关于c# - 如何阻止带有过滤器集的 DataGridView 在列表中移动得太远?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6461150/
prometheus 和 node exporter 都使用 chrony 来同步时间。 [root@MiWiFi-R3-srv node_exporter-0.18.1.linux-amd64]#
由于某种原因,当我调整浏览器窗口的大小时,文本字段下方的按钮似乎变得比文本框更宽。有什么想法吗? SCRN: HTML : Title
我的一个 有问题标题。我对所有这些都使用单一样式,但有一个特定的 header 无法正常工作。 [附截图] 这是我的全部源代码: Title
我是一名优秀的程序员,十分优秀!