问题标签 [datagridview]

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 投票
2 回答
625 浏览

sql - 查看选定的列

我正在为一个类在 VB 中进行 .NET 3.5 编程。我有一个带有 3 个相关表的 .mdb 数据库,以及一个带有一些查询的表适配器,如下所示:

然后在一个表单中我有一个 DataGridView。我想要做的是获取从查询返回的数据并将其显示在 DGV 中。但是,当我这样做时,它会显示数据库中的所有 35 列,而不是我选择的 10 列(这 10 列是唯一有数据的列……所以它基本上是一个带有一堆空白列的表)。

我当前的不优雅的解决方案是将查询返回到 DataTable,然后遍历表的列,删除我不想要的列。这不健壮、高效,而且不喜欢我删除主键列。

我的 TA 建议尝试使用无类型数据绑定……他说这应该只显示我提取的数据,但我们都还没能弄清楚这一点。

谢谢你!

更新

我不确定 .aspx/.aspx.vb 页面是什么意思,但这是我从表适配器获得的查询代码

这是我在代码中使用它的地方:

propView 是一个 DataGridView,在加载时没有选择 DataSource

0 投票
1 回答
832 浏览

vb.net - DataGridView 组合框和主键

在未绑定的数据网格视图组合框列中处理主键的最佳实践方法是什么?

我想显示一个有意义的值,但只存储主键(很像 Access 组合框)。我通过将具有两个属性的对象而不是纯字符串添加到项目集合中来使用常规组合框来实现此目的。然后我通过将组合框的选定索引值转换回它的对象形式然后检索属性来检索它。这很好用,但我无法使用 datagridview 组合复制该技术,因为我似乎无法访问项目集合。尽管我可以在创建列时正常添加对象,但我似乎只能从网格中检索回字符串值。

希望这是有道理的...

0 投票
3 回答
21396 浏览

c# - 如何在多线程应用程序中安全地填充数据和 Refresh() DataGridView?

我的应用程序有一个 DataGridView 对象和一个 MousePos 类型的列表。MousePos 是一个自定义类,它保存鼠标 X、Y 坐标(类型为“Point”)和该位置的运行计数。我有一个线程(System.Timers.Timer)每秒引发一次事件,检查鼠标位置,添加和/或更新此列表上的鼠标位置计数。

我想有一个类似的运行线程(再次,我认为 System.Timers.Timer 是一个不错的选择),它会再次引发一个事件,以自动 Refresh() DataGridView 以便用户可以看到数据屏幕更新。(就像 TaskManager 一样。)

不幸的是,调用 DataGridView.Refresh() 方法会导致 VS2005 停止执行并注意到我遇到了跨线程情况。

如果我理解正确,我现在有 3 个线程:

  • 主 UI 线程
  • MousePos 列表线程(定时器)
  • DataGridView 刷新线程(定时器)

为了查看是否可以 Refresh() 主线程上的 DataGridView,我向名为 DataGridView.Refresh() 的表单添加了一个按钮,但这(奇怪的是)没有做任何事情。我发现一个主题似乎表明如果我设置 DataGridView.DataSource = null 并返回到我的列表,它将刷新数据网格。确实这有效,但只能通过按钮(在主线程上处理。)


所以这个问题变成了一个两部分:

  1. 将 DataGridView.DataSource 设置为 null 并返回到我的 List 是一种可接受的刷新数据网格的方式吗?(对我来说似乎效率低下......)
  2. 如何在多线程环境中安全地执行此操作?

这是我到目前为止编写的代码(C#/.Net 2.0)

0 投票
2 回答
693 浏览

c# - 在另一个线程中更改 DataGridViewRow 属性

好的,所以我在后台线程中将 DataGridView 绑定到 BindingSource,而“请稍候”模型窗口让用户感到愉悦。没问题。

但是,我需要根据行的 databounditem 类型更改一些行的背景颜色。像这样:

以编程方式我可以做到这一点,但它有足够的行,它会在迭代行时锁定 GUI。我正在寻找处理这种情况的最佳方法的想法。

这就是我现在正在做的事情:

0 投票
3 回答
1519 浏览

c# - 用图像替换 DataGridView 单词和数字

我正在创建一个应用程序,它在 DataGridView 中显示一些消息及其方向。我想用图片替换一些列内容。例如,我想用绿色箭头(一些 .jpg 图像)替换代表来电的数字 0。

有谁知道如何做到这一点?

谢谢!

0 投票
3 回答
4259 浏览

c# - 绘制 DataGridView 行

我正在尝试将 DataGridView 行的背景颜色设置为红色。我尝试了以下行:

dgvActiveCalls.Rows[1].DefaultCellStyle.BackColor = Color.Red;

但它不起作用。然后只是为了看看更新是否有问题,我尝试绘制列而不是行:

dgvActiveCalls.Columns[1].DefaultCellStyle.BackColor = Color.Red;

它工作得很好。如果有人能展示绘制 DataGridView 行的方法,我将非常感激。

谢谢!

0 投票
7 回答
34294 浏览

.net - 如何将“插入新行”设置为 DataGridView 中的第一行

我试图让 DataGridView 将“插入新行”行呈现为网格中的第一行而不是最后一行。我该怎么做,在控制中甚至可能吗?

0 投票
1 回答
586 浏览

c# - 计算 DataGridViewImageColumn 中唯一图像出现的次数

在绑定到 DataView 的 DataGridView 中,列中的单元格将包含 ImageList 中的两个图像之一(例如绿色“在线”图像或红色“离线”图像),如何计算每个图像的出现次数遍历 DataGridView 的行时?

DataGridViewImageCell 的 Value 和 FormattedValue 属性返回不同的引用,即使基础 DataTable 中的条目是通过引用 ImageList 中的相同 Image 创建的。

因此,与其计算 4 次“在线”和 6 次“离线”,我得到了 10 次据称不同的图像。

0 投票
1 回答
20143 浏览

c# - 如何在 WinForms 项目中使用 XML 作为 DataGridView 的数据源?

如何将可编辑的 DataGridView 链接到 WinForms 项目中的 XML 文件?

0 投票
1 回答
5496 浏览

c# - 禁用 DataGridView 系统上下文菜单

有谁知道当用户右键单击 DataGridViewTextBoxCell 时如何禁用系统上下文菜单?我试图在 DataGridView 级别覆盖 WndProc(因为在 Cell 级别上没有要覆盖的 WndProc),但似乎没有任何效果。任何帮助将不胜感激。

以下是我在常规 TextBox 中用来实现此目的的方法,但是,我需要为 DataGridViewCell 以相同的方式工作吗?