问题标签 [xceed-datagrid]

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 投票
3 回答
4972 浏览

c# - 循环遍历 WPF 的 Xceed DataGrid 中的所有单元格?

当用户进行编辑时,我正在更改单元格的背景颜色。保存(或还原)更改后,我想将所有单元格恢复为正常颜色。

设置单元格的原始背景颜色(存储在父行中)很容易。但我不知道如何遍历表中的所有单元格来重置它们。

我在 Xceed 知识库中找到了一篇名为“如何遍历网格的行”的文章……您认为这将是完美的,对吧?错误的; 文章中提到的 , 等属性(或方法)来自.DataRows较旧/已停产的 Xceed 产品.FixedHeaderRows

此论坛主题建议使用 DataGrid 的 .Items 属性,在我的情况下,它返回System.Data.DataRowView的集合......但我找不到任何方法将其(或其任何相关元素)转换为Xceed.Wpf.DataGrid.DataCell s 我需要更改背景颜色。

简而言之,如何循环遍历行和单元格以便重置背景属性?

0 投票
1 回答
4027 浏览

c# - Xceed DataGrid SelectedItem 问题

在我的项目中,我有一个 Xceed 数据网格,它绑定到具有许多记录和记录详细信息的数据源。我正在尝试创建一个上下文菜单选项,允许用户在特定列中搜索特定详细信息。虽然我已经成功完成了该功能,但有一个 UI 部分给我带来了一些麻烦,因为当我在 C# 中选择行时,如果该行不在视图中,则该行永远不会被关注。因此,用户必须向上和向下滚动以查找具有扩展详细信息的行。

我可以设置 SelectedRow 并展开详细信息,如下所示:

其中 userColumn 和 userValue 是之前在方法中设置的。

设置 SelectedItem 并展开详细信息后,如何使网格集中在行上?

谢谢,

帕特里克

0 投票
1 回答
2673 浏览

wpf - Xceed DataGrid for WPF 的 LicenseException

我已经使用 Xceed 的优秀 DataGrid for WPF(UX 版 3.7 版)开发了一个简单的 DB 编辑应用程序,现在可以部署了……除了当我在开发机器以外的机器上运行它时,它被构建,我收到无效许可的运行时异常。

我已将我的许可证密钥包含在 App.xaml.cs 中,完全符合 Xceed 文档中的指定,如下所示:

正确版本的 DataGrid DLL 包含在安装程序和应用程序的程序目录中,并且目标计算机上没有其他版本。

除了代码尝试使用 DataGrid 时引发的 LicenseException 之外,调试没有向我显示任何有用的信息,消息显示“Xceed.Wpf.DataGrid.Licenser.LicenseKey 属性必须设置为在使用本产品之前您的应用程序代码..."

知道这里出了什么问题吗?

0 投票
1 回答
2792 浏览

wpf - Xceed DataGrid 重置滚动条位置

当我更改 Xceed DataGridControl 中的 ItemsSource 时,我的垂直和水平滚动条会立即重置到顶部/左侧。

任何想法如何防止这种情况发生?

0 投票
1 回答
1548 浏览

wpf - 如何更改 Xceed Datagrid 的 CellErrorStyle?

所以在 Xceed 文档中有一个对我不起作用的代码示例。可能是因为我的网格绑定到 DataGridCollectionView。datagridcollection 使用的集合中的对象实现了 IDataErrorInfo。

错误显示得很好。问题是他们使用默认的橙色背景来显示错误......我需要一个红色边框。下面是我的网格的 XAML 实例化。我将 DataCell 背景属性设置为红色,这样我可以确定我可以访问网格的属性……我可以。我只是找不到识别单元格错误的方法,所以我可以设置它们的样式。谢谢!

...

0 投票
3 回答
5052 浏览

wpf - 从 XCeed DataGrid 控件中取出 FilterRow

是否可以将筛选行从XCeed DataGrid 控件拉出到其他地方,如组框?如果可能,怎么做?任何指针将不胜感激。

请考虑下面给出的场景,当我单击过滤器按钮时,产品名称列将根据过滤器查询进行过滤。为了做到这一点,我需要为Product Name取出 FilterRow Cell 。

替代文字

0 投票
1 回答
2074 浏览

xaml - 将 EventToCommand 添加到 xaml 中的每一行

有没有办法将 DoubleClickEvent 添加到 xaml 中的每一行,而不是使用 datagridcontrol 的事件?

像这样的东西(此代码不起作用):

0 投票
1 回答
493 浏览

wpf - WPF,如何在观看 TypeDescriptor 时正确取消挂钩处理程序

我正在使用 WPF,并尝试遵循 MVVM 模式。我们的团队已决定使用 Xceed DataGrid 控件,但我在使其适应 MVVM 模式时遇到了一些困难。

我必须满足的一个要求是我需要知道用户何时更改了网格上的列过滤器。我知道最新版本的 DataGrid 控件有一个为此引发的事件,但不幸的是,我必须使用旧版本的控件。

找了一阵子,找到了这个帖子。它说我需要将 INotifyCollectionChanged 处理程序连接到每个可能的过滤器列表。这行得通,但它也表示,每当网格的行源发生变化时,我都需要解除处理程序的挂钩。

当我在页面的代码隐藏中显式设置行源时,我能够让它工作(并且在我第一次尝试在 ModelView 中使用对视图喘气的直接引用!

不过,我遇到的第一个问题是如何在没有代码背后或 ViewModel 中的逻辑的情况下做到这一点。我的解决方案是扩展 DataGridControl 类并添加以下代码:

这导致我的下一个问题;我很确定在调用 ItemsSourceChanged 方法时,AutoFilterValues 的集合已经改变,所以我无法有效地解开处理程序。

我这样假设是对的吗?谁能想到一种更好的方法来管理这些处理程序,同时仍然允许我将该功能封装在我的扩展类中?

抱歉帖子的长度,并提前感谢您的帮助!

-Funger

0 投票
1 回答
661 浏览

wpf - XCeed DataGrid for WPF v4.x: How to create multiple column headers

Is there any way to create multiple column headers in XCeed DataGrid for WPF v4.x?

alt text

0 投票
1 回答
2406 浏览

wpf - 将属性绑定到 Xceed Datagrid 中的按钮时出现 NullReferenceException

这个让我发疯。该问题仅在数据网格大到需要滚动条时才会出现,因此我强烈建议数据虚拟化在其中发挥作用。从下面的 xaml 中可以看出,为此数据网格定义的最后一列是一个按钮,其可见性绑定到 DataGridCollectionView 上的布尔“ErrorsPresent”属性,该属性是控件的数据源。出于某种原因,我不知道,当一个大数据集加载到控件中时,会有一些空行,每个属性都有空值。如果我注释掉最后一列,网格及其数据会正确显示,但是当实际处理行的数据时(如在转换器中),我会在 PresentationFramework 中得到这个讨厌的错误。很抱歉将其全部包含在内,但我想证明它的所有 Windows 代码:

'APreII.vshost.exe'(托管 (v4.0.30319)):已加载 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\Accessibility\v4.0_4.0.0.0__b03f5f7f11d50a3a\Accessibility.dll' System.Transactions 关键: 0:http://msdn.microsoft.com/TraceCodes/System/ActivityTracing/2004/07/Reliability/Exception/UnhandledUnhandled exceptionAPreII.vshost.exeSystem.NullReferenceException,mscorlib,版本=4.0.0.0,文化=中性,PublicKeyToken=b77a5c561934e089Object引用未设置为对象的实例。在 System.Windows.Data.BindingExpression.TransferValue(Object newValue, Boolean isASubPropertyChange) 在 System.Windows.Data.BindingExpression.AttachToContext(AttachAttempt 尝试) 在 System.Windows. Data.BindingExpression.MS.Internal.Data.IDataBindEngineClient。System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) at System.Threading.ThreadHelper.ThreadStart()System.NullReferenceException 处的 ContextCallback 回调,对象状态,布尔 ignoreSyncCtx):对象引用未设置为目的。在 System.Windows.Data.BindingExpression.TransferValue(Object newValue, Boolean isASubPropertyChange) 在 System.Windows.Data.BindingExpression.AttachToContext(AttachAttempt 尝试) 在 System.Windows. Data.BindingExpression.MS.Internal.Data.IDataBindEngineClient.AttachToContext(Boolean lastChance) 在 MS.Internal.Data.DataBindEngine.Task.Run(Boolean lastChance) 在 MS.Internal.Data.DataBindEngine.Run(Object arg) 在 MS。内部.Data.DataBindEngine。

Xaml。如您所见,我已尝试通过设置 CanContentScroll 和 ItemScrollingBehavior 属性来禁用虚拟化,但没有任何效果。:

只是为了咯咯笑,我是如何制作 DataGridCollectionView 的:

谢谢你的帮助。我只是不知道如何正确关闭数据虚拟化(如果这是问题的话),如何防止这些空记录(不在底层数据集和 DataGridCollectionView 中)被 CellContentTemplate 可见性转换器处理。