问题标签 [datagridviewtextboxcell]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
239 浏览

c# - 如何在 C# 中将 xml 文件中的值赋给 datagridviewtextbox?

假设我有一些看起来像这样的 xml 文件:

我想要做的是我想从这个 xml 中读取值并将它们放入datagridview不同的列中。例如:在一列中显示Database1和。Database2我使用 Xpath 从 xml 文件中获取值,这是我的代码:

这将从Database标签中获取所有值,我无法弄清楚如何将这些值datagridviewtextbox显示在我的datagridview. 谁能帮我这个?(PS对不起我的英语不好)

0 投票
1 回答
2127 浏览

c# - C# DataGridView - 从 CellEndEdit 事件调用排序

目前我正在使用this.EndInvoke(this.BeginInvoke(new MethodInvoker( this.resortRows )));调用检查空单元格然后对 DGV 进行排序的方法。但我是从 CellEndEdit 调用它的。

如果通过按 Enter 或 Tab 调用事件,一切正常,但如果我在仍处于 EditMode 时单击另一个单元格,我会在使用排序命令的行出现错误:

这是排序命令:

我试图MouseClick像这样处理这个事件:

但这只有在我单击 DGV 内部的灰色区域(不在任何单元格或标题上)时才有效。我怎样才能解决这个问题?

0 投票
1 回答
1010 浏览

c# - 为什么我填充的 ​​DataGridView 单元格(DataGridViewTextBoxCell 实例)显示省略号?

当我在 DataGridView 中使用值(例如“1”)填充选定单元格时,而不是简单地显示“1”,它们会显示“1...”

为什么会这样,我怎样才能防止省略号点显示?

更新

这是请求的代码(如下)。它看起来像什么的尖叫声(暂停,出于某种原因,posterous 不接受它作为一个点凸起或一个松鸦钉)。

无论如何,DGV 看起来像这样:

...应该是什么时候:

正如最后一行的注释中所指出的,在测试数据中,电话值只是“1”。将鼠标悬停在该值上会显示“1”的工具提示/提示(不是“1...”或类似的)。

0 投票
2 回答
72188 浏览

c# - 如何使 DataGridView 单元格的字体具有特定颜色?

此代码适用于使单元格的背景为蓝色:

...但是 ForeColor 的效果不是我所期望/希望的:字体颜色仍然是黑色,而不是黄色。

如何使字体颜色变黄?

0 投票
4 回答
9387 浏览

c# - 如何以编程方式从 datagridview 中的一个单元格移动到另一个单元格?

我只需要允许一个字符输入到可编辑的 datagridview 单元格中(每隔一列,奇数列,都是可编辑的);如果用户在其中一个单元格中添加第二个字符,则光标应向下移动到下一个单元格并将第二个值放在那里(再次按下该键再次向下移动,依此类推)。如果在网格的底部(第 12 行),它应该移动到第 0 行,并向右移动两列。

我试过这样做:

...但是我收到了无法将 RowIndex 和 ColumnIndex 分配给的错误消息,因为它们是只读的。

那么我怎样才能做到这一点呢?

警告:我知道如果当前位于最后一个可编辑列的底部,我还必须添加逻辑以移动到第 1 列。

更新

从 tergiver 的回答来看,这就是我到目前为止所得到的,但我不知道如何前进到下一个单元格。

更新 2

谢谢大家;这就是我用来让它几乎工作的东西(我仍然希望能够让用户简单地按住键,并在后续单元格中连续输入该值):

0 投票
1 回答
101 浏览

c# - 为什么我的事件处理程序只输入一次?

我将表单的 KeyPreview 设置为 true。

如果 DataGridView 单元格已经有值,我正在尝试向下移动到下一个单元格。我有这个代码:

在内部“如果”上设置了一个断点,我第一次在单元格中输入一个值时到达那里(大概它是长度 0 或长度 1,但在该点查看 currentCell 的值,它是“格式化文本” value == "" 并且我没有看到任何其他可能的属性来辨别单元格内容是什么)。

“如果”失败了,它下降到“返回基础”。线。

当我在单元格中输入第二个值时(例如,单元格中可见的内容从“2”变为“22”),我什至没有到达断点。为什么???

注意:这是我在这里提出的一个问题的变体:如何以编程方式从 datagridview 中的一个单元格移动到另一个单元格?

0 投票
1 回答
115 浏览

c# - 为什么要跳过行?

我有一个以这种方式填充的 DataGridView:偶数行包含用户不能编辑的“常量”值。奇数行可由用户编辑,但只能包含 0 或 1 个字符。如果单元格包含一个值并且用户按下一个键,它应该首先向下移动到下一个单元格,然后允许在下一个单元格中输入该值。通过这种方式,用户可以继续按下一个键,并且每次都会填充下面的单元格。

我有这段代码(基于 David Hall 的代码:如何以编程方式从 datagridview 中的一个单元格移动到另一个单元格?):

这在我第一次在已经有值的单元格中输入 val 时效果很好 - 它向下移动到下一个单元格,随后的按键在此处输入值。但是,在那之后,它每次都会跳过一个单元格。IOW,如果我首先在第 5 列第 2 行的单元格中输入“2”,它会移动到第 3 行(好!);然后,它移动到第 5 行,跳过第 4 行。在下一次按下键时,它移动到第 8 行,跳过第 6 行和第 7 行,依此类推。

为什么会这样,解决方案是什么?

更新

好的,根据下面 LarsTech 的回答,我现在得到了这段代码:

但是,现在的问题是,如果我在一个输入了先前值的单元格中,它不会用输入的新值覆盖旧值。那么有没有办法不在这个单元格中输入另一个值,同时允许一个新值替换单元格中的现有值?

0 投票
2 回答
660 浏览

c# - 比较输入值的 ASCII 以检查它是字符还是数字

我需要检查用户是否在DataGridViewTextBoxCell中输入了字符或数字。如何根据DataGridView 的 KeyPress 事件中输入键的 ASCII 值进行比较。有什么建议吗?

0 投票
0 回答
47 浏览

c# - 如何过滤掉动态创建的 DGV 单元格中的不适当条目?

我创建 DataGridViewTextBoxCells 并将它们添加到我的 DGV。

我想禁止所有第 0 列单元格中除 0..9 之外的任何条目,以及除 0..9 和“。”之外的任何条目。在所有其他人中。

我应该使用哪个事件来执行此操作:CurrentCellChanged?单元格格式化?其他活动?...或其他方式?

0 投票
3 回答
13528 浏览

c# - 如何在有机会引发异常之前将 null 值转换为 string.empty?

我有以下代码将先前的值输入到 DataGridView 单元格中。如果在第 0 行和第 2 列或更大,则左侧的 val,否则正上方的值:

只要有值得被看到和复制的价值,这就很好用。但是,如果单元格为空白,我会得到:

System.NullReferenceException 未被用户代码处理
Message=Object 引用未设置为对象的实例。

我猜这是一个使用空合并运算符的机会,但是(假设我的猜测很好),我该如何实现呢?