问题标签 [datagridviewrow]

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 回答
194 浏览

vb.net - 设置 DataGridView 源会使所有现有 DataGridViewRow 对象无效

我有一个带有 DataGridView 的项目,它显示来自平面文件数据库的数据。有 7 个按钮可将 SQL 查询结果加载到 DGV,并添加一个复选框以选择行。

当用户选择一个复选框时,该特定 DataGridViewRow (DGVR) 将被添加到临时 List(Of DGVR) 以供以后使用。

然后有一个显示第二个表单的最终按钮,对选定的两个条目进行比较,将临时列表传递给第二个表单。

用户将能够从 2 个不同的选项中选择 1 个(因此有单独的列表)。

问题是,如果您单击按钮 1 并选择一行,当您单击第二个按钮时,将数据源重置为新查询结果的行显然会将所有现有 DGVR 转换为空指针。

IE:对 DGVR 的引用丢失。

如果您从第一个按钮中选择一个,然后从第二个按钮中选择一个,然后尝试传递两个选定的项目,第一个将为空,但第二个不会。

代码:

按下新按钮时使条目无效的行是以下行:

然后,当复选框被单击时,此代码运行(每种武器类型都有一个案例)。AsList 是设计用于在传递行之前临时保存行的列表:

我尝试克隆该行,以创建一个单独的副本,但这不起作用。如何将它与数据源分开,以便我可以加载一组新数据,但保存选定的行?

0 投票
1 回答
108 浏览

c# - 为什么我会崩溃并得到错误的星期几?

我的系统时钟是 2014 年 9 月 16 日(星期二)

但在代码中,我总是跳到星期一。

我有一个DataGridView

  • 第 0-3 列是Text
  • 第 4-9 列是DataGridViewCheckBoxColumn
0 投票
1 回答
35 浏览

c# - 尝试查看我的单元格是选中还是未选中时崩溃

我的系统时钟是 2014 年 9 月 16 日(星期二)

但在代码中,我总是跳到星期一。

我有一个DataGridView

  • 第 0-3 列是Text
  • 第 4-9 列是DataGridViewCheckBoxColumn
0 投票
1 回答
469 浏览

vb.net - 将 2 行从 2 个单独的 datagridviewrows 合并到一个新的 vb.net

我正在尝试合并两行并将其写入第三个表上的新行:

例子:

表A:(数据固定)

表B:(数据固定)

现在,这两个表需要像这样合并:

表C:

我现在的代码,即使不工作:

有人知道如何实现这一目标吗?

0 投票
1 回答
215 浏览

.net - DataGridView 中的 AddRowEvent 添加额外行

我有一个无界的 DataGridView。我试图消除最后添加的额外行。我已将 AllowUserToAddRows 设置为 false。

当用户右键单击一行时,我设置了它,他们将能够添加额外的行。但是,如果我右键单击最后一行,它将添加两行。

0 投票
1 回答
902 浏览

vb.net - 遍历 DataGridView 行时未获取所有行

在 VB.NET WinForms 应用程序中,我有一个带有复选框的 DataGridView 作为第一列中的非绑定列。我需要将选中其复选框的每一行添加到行集合中。

我正在使用下面的代码遍历行并找到带有选中复选框的行:

但是它缺少带有选中复选框的最后一行。即,如果我选中三个复选框,在控制台输出中我会看到前两个选中行的“Emp No”。

认为它的行为类似于零索引的问题,我还尝试使用计数器进行迭代:

但是我对该代码有相同的行为。我尝试更改 Integer = 0 和 Rows.Count - 1 等,但这也无济于事。

万一这很重要,DataGridView 的 SelectionMode 需要设置为 CellSelect。

更新

正在填充 datagridview 的表中有694条记录。

我添加了一个控制台输出来获取 rows.count 值:

并得到695,这是有道理的,因为 datagridview 中的最后一行允许输入新行。(但我会认为第二种迭代方法中的 Count - 1 会解释这一点。)

我还添加了

就在如果检查选中复选框之前,并且选中了第一行、第三行和第五行(索引 0、2、4),输出如下:

在 Row index: 4 行之后应该有一个“this should be...”输出。

0 投票
3 回答
3956 浏览

vb.net - 检查是否向 DataGridView 添加了新行,如果是,则获取新行的集合

在 VB.NET WinForms 项目中,我有一个由数据集填充的 datagridview。当用户单击按钮时,我需要检查 DGV 中是否有任何新行,如果有,则获取要插入数据库的行集合。(我将 DGV 属性 AllowUserToAddRows 设置为 True,因此 DGV 底部有一行。)

我能取得任何进展的最接近的是以下,这给了我好坏参半的结果。代码确实会从新行中获取值,但前提是用户单击了新行。如果焦点没有离开新行,就好像该行没有被添加到任何幕后的新行集合中。(点击退出然后返回新行)。

CaseyWilkins在这里帮助我解决了类似的问题。在这种情况下,将焦点留在更改的单元格中需要添加以下代码:

鉴于此,我尝试了

但这并没有做到。

我不能很好地包含说明“您必须单击新行才能使其工作”!:)

0 投票
1 回答
189 浏览

c# - 在开头插入新的DataGridViewRow时如何删除最后一个?

使用 Windows 窗体应用程序。
我有这个类,派生自一个DataGridView控件:

然后,从容器类的内部AddRowAtBeginning方法中,在 0 索引处插入一个新行,将一个索引向下移动其他索引。引发事件时,并且
当实际总行数大于最后一个时才会被删除。 RowsAddedrowsAllowed

一切正常,直到CurrentRow(标题上有小箭头)由于位移而被选择删除。

我认为,这就是 anSystem.ArgumentOutOfRangeException被抛出的原因,当RowsAdded逃跑时,试图返回dgv.Rows.Insert(0, newRow)线。

我还没有找到任何解决方案。

0 投票
1 回答
642 浏览

powershell - 多台服务器上的计数服务

我仍然是 powershell 的初学者,但我喜欢学习和研究它可以做的所有事情。

因此,我希望创建一个将输出到 datagridview 表的脚本。我创建了一个足够简单的表单,它有一个多行文本框,您可以在其中输入服务器列表,然后只需一个简单的“检查”按钮,该按钮调用我的函数来实际查询每个服务器的服务并将该信息输出到它下面的datagridview。

那部分对我来说很容易创建。我的事情是,我希望它执行以下操作“:

  • 查询每台服务器并拉取该服务器上所有服务的列表
  • 然后在datagridview中,我希望它在第1列中显示服务名称,然后在第2列中显示有多少台服务器拥有该服务

希望从那时起。无法真正提供任何代码,因为我不知道如何正确编写它!我在想有办法生成完整的列表,然后做一个循环和计数类型的事情,但不确定。

我感谢您对此提供的任何帮助。一直在疯狂地搜索和阅读。要么不正确的搜索条件,要么就是不适合我。

更新 - 添加当前脚本我有:

0 投票
1 回答
174 浏览

loops - VB.NET For Each 循环过早退出/代码在完成前返回调用者

我有两种形式:

  1. 编辑

在“编辑器”表单上,我有一个“KeyDown”事件,当 F5 键按下时会打开“表格”表单。

在“表”表单上,我有一些代码,它是一个 List(Of String) 并循环遍历它,将行添加到表单上的 datagridview 中。

问题是当循环迭代两次时,流程将退出循环并返回到 KeyDown 事件,然后该事件结束。

如果我清空If Line.Contains语句中的代码,并插入一个 MessageBox,那么一切都会很好地迭代。

我希望有人知道答案。

谢谢和最好的问候!

编辑:我可以看到这DataGridView.Rows.Add(Row)是错误的,但我不知道为什么。

编辑:我通过将“For Each”循环更改为“For”循环并克隆最新添加的行来修复它。