问题标签 [datagridviewcolumn]

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

winforms - DataGridViewCheckBoxColumn:如何在属性更改而不是验证时更新绑定的 DataSource

我有一个绑定列表作为 DataGridView 的数据源;TSource 属性之一绑定到 DataGridViewCheckBoxColumn,但数据源不是在单击复选框时更新,而是在复选框本身失去焦点时更新。

我知道当 DataSourceUpdateMode 是“OnValidation”而不是“OnPropertyChanged”时,标准 WindowsForms 绑定上会发生类似的事情,但是如何使用 DataGridViewCheckBoxColumn 获得相同的结果?

该列定义如下:

0 投票
1 回答
377 浏览

performance - 更改 DataGridView 中所有列的宽度

我们有一个包含 2048 列的 DataGridView。我们必须为用户提供一种方法来增加和减少 DataGridView 中所有列的宽度。

目前,我们在按钮单击处理程序中执行以下操作:

但这需要一段时间!(更具体地说,大约 2 秒)。(注意:我们将 ColumnHeadersHeightSizeMode 属性设置为 DataGridViewColumnHeadersHeightSizeMode.DisableResizing 以获得一些性能,但这并没有削减它)

是否有更快的方法来实现列大小调整?

0 投票
2 回答
8219 浏览

datagridview - DataGridviewComboBox 需要单击 2 次才能显示项目列表

可能重复:
单击即可打开下拉列表(在数据网格视图中)项目

我们有一个 DataGridView,其中一列是具有 DropDownButton 样式的 ComboBox。DataGridView 处于 FullRowSelect 模式。假设我有 5 行,并且在 DataGridView 中选择了第 0 行。

我想从 -say-row 2 的 ComboBox 中选择一个项目,因此我单击 ComboBox 的小箭头。当我这样做时,首先选择 DataGridView 的第 2 行。组合框尚未打开。只有第二次单击才能打开 ComboBox。

事实上,它曾经需要 3 次点击,但后来我们重载了 CellMouseDown 来执行以下操作:

有了这个,我们只需要点击 2 次。有没有办法一键显示 ComboBox 项目?

编辑:我还应该提到的是,如果我单击 ComboBox 本身,而不是单击 ComboBox 的小箭头,则需要单击 3 次才能显示 ComboBox 项!

0 投票
10 回答
116638 浏览

c# - 使用自定义数据源时如何隐藏 DataGridView 的列?

我在 c# 中有一个小应用程序,它有一个 DataGridView,它使用以下方法填充:

grid.DataSource = MyDatasource array;

MyClass 保存列的结构,它看起来像这样:

一切正常,DataGridView 填充了正确的数据,但现在我想隐藏 column2。我尝试[Browsable(false)]在列声明上方添加,这将隐藏它,但我还需要从代码中访问列值,当我使用[Browsable(false)]并尝试读取内容时,它的行为就像列不存在一样。如果我不使用它,我可以毫无问题地读取该列,但它在 DataGridView 中可见。

我怎样才能隐藏列但仍然能够从代码中读取其内容?

0 投票
1 回答
4938 浏览

c# - 单击 DataGridViewColumnButton 时如何隐藏 DataGridView 的一行?

我在 WinForms SystemTray App 中添加DataTable了一个。DataGridView每行有两个按钮,例如“公共”和“忽略”。当我单击两个按钮中的任何一个时,必须隐藏按钮具有相同索引的特定行。

0 投票
1 回答
2546 浏览

c# - 单击列标题时的Datagridview列排序

我有一个datagridview有两列nameprice.

如果我单击列标题,则相应的列将按字母顺序排序。我是否需要添加任何事件处理程序来对数据网格视图列进行排序?或者是否有任何属性来设置数据网格视图列的排序?我正在使用 C# 开发 Windows 应用程序。

有人可以帮忙吗?

0 投票
1 回答
3032 浏览

c# - 如何对 datagridview 列进行排序出现错误:Argument NUll Exception Was Unhandled

我使用以下 linq 将数据网格视图绑定到使用以下代码的实体框架查询。

我有列产品ID,产品图片,产品名称,产品描述,产品价格..

为了客户的目的,我已经制作了一些列不可见..

现在我想通过单击列标题对列进行排序....

注意:这里 product.image 存储为数据库中的数组字节 ....

我不知道如何比较字节和排序......

任何人都可以帮助解决这个问题......

非常感谢...

修改后的代码:

得到一个错误:参数 NUll Exception Was Unhandled ..

任何人都可以帮助解决这个问题......

0 投票
2 回答
2026 浏览

c# - 将按钮列添加到 datagrid 视图导致问题

我有一个 datagridview 与来自数据库的数据绑定,工作正常。它在表单加载时加载数据。根据客户要求,我使用以下代码将新按钮列添加到数据网格视图

当表单加载其工作正常时。

但我正在检查条件,例如如果我们在列表视图中选择任何项目,则数据网格视图根据所选项目进行排序......因为我已经这样做了......

  • 如果我单击列表视图的第一项(“全部”),则数据网格视图工作正常....
  • 如果我再次单击 listview 第一项(“全部”),则按钮列出现两次....
  • 如果我再次单击列表视图的第一项(“全部”),则按钮列将出现三次...

这是列表视图中所有项目发生的情况。

我的问题是,还有其他方法可以将按钮列添加到数据网格视图吗?

我试图在 form1.cs[design] 中添加按钮列,这将影响 datagridview 中的实际列。我正在使用 c# 语言在 winforms 中工作。任何人都可以对这些提出任何想法吗?

假设如果我在这个循环中删除下面的代码

实际的按钮列消失了。有人可以帮忙吗?

修改代码:

第一个条件:if (lstviewcategories.SelectedItems[0].Text.ToString() == CategoryType.Type2) {

第二个条件:

这两个条件不起作用..

0 投票
1 回答
629 浏览

c# - DataGridView 单元格自定义

我想为 datagridview 创建一个接受 Int64 值以便排序的单元格。

此外,该单元格将显示一个额外的值,该值是当前值与我在 datagridview 之外的参考值的差异。

我可以将其作为字符串进行,但无法正确处理排序,因为它看起来像 1、10、11、2.... 等等。

所以我想,如果我可以创建一个自定义单元格并将单元格值定义为 long 并显示一个字符串,那就太好了......但我不确定这是否可以实现......

有人知道如何以简单的方式完成吗?请注意,我正在手动加载 datagridview,但我正在定义列类型以允许排序。

0 投票
2 回答
2659 浏览

ado.net - 如何将 DataGridView 内容复制到数据集?

我对 ADO.NET 不好,所以使用了我从 Internet 获得的以下代码,但我收到错误“位置 0 处没有行。 ”@ 标记的行(*)即使我可以看到一个值使用断点传递