问题标签 [dataview]

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 投票
0 回答
1433 浏览

c# - OnListChanged 中的 DataView NullReferenceException

我有一个相当复杂的 WinForms 应用程序,它使用数据绑定将强类型的 DataTables 绑定到控件(不确定这个事实在这里是否重要)。当对列的更改触发更新同一行上的另一列的逻辑时会引发异常(或者至少这是我的理论)。

一个示例:客户记录绑定到一个 ComboBox,其中包含 Customer::MarketingContactId 的联系人列表。当联系人更改时,有几个文本框和复选框将更新以允许编辑该联系人的详细信息。其中一个复选框在 CheckChanged 上有一个事件处理程序

m_row 是正在更新的客户。虽然此代码中不会发生错误,但实际上是由 MarketingContactId 字段的设置引发的。这是调用堆栈,它证实了这一点:

System.Data.dll!System.Data.DataView.OnListChanged(System.ComponentModel.ListChangedEventArgs e = {System.ComponentModel.ListChangedEventArgs}) 第 1433 行 + 0x2c 字节 C# System.Data.dll!System.Data.DataView.IndexListChanged(object sender, System.ComponentModel.ListChangedEventArgs e = {System.ComponentModel.ListChangedEventArgs}) 第 1299 行 C# System.Data.dll!System.Data.DataView.IndexListChangedInternal(System.ComponentModel.ListChangedEventArgs e) 第 1324 行 C#
System.Data.dll! System.Data.DataViewListener.IndexListChanged(System.ComponentModel.ListChangedEventArgs e) 第 76 行 + 0x7 字节 C#
System.Data.dll!System.Data.Index.OnListChanged.AnonymousMethod(System.Data.DataViewListener listener, System.ComponentModel.ListChangedEventArgs args , bool arg2, bool arg3) 第 803 行 + 0x7 字节 C#
System.Data.dll!System.Data.Listeners.Notify(System.ComponentModel.ListChangedEventArgs arg1 = {System.ComponentModel.ListChangedEventArgs}, bool arg2 = false, bool arg3 = false, System.Data.Listeners.Action action = {Method = {Void b__2(System.Data.DataViewListener, System.ComponentModel.ListChangedEventArgs, Boolean, Boolean)}}) 第 1029 行 + 0x1a 字节 C# System.Data.dll!System.Data.Index.OnListChanged(System.ComponentModel.ListChangedEventArgs e ) 第 805 行 C# System.Data.dll!System.Data.Index.OnListChanged(System.ComponentModel.ListChangedType changedType, int newIndex, int oldIndex) 第 788 行 C# System.Data.dll!System.Data.Index.RecordStateChanged(int oldRecord , System.Data.DataViewRowState oldOldState, System.Data.DataViewRowState oldNewState, int newRecord, System.Data.DataViewRowState newOldState, System.Data。DataViewRowState newNewState) 第 903 行 + 0x10 字节 C#
System.Data.dll!System.Data.DataTable.RecordStateChanged(int record1 = 0, System.Data.DataViewRowState oldState1 = 添加, System.Data.DataViewRowState newState1 = None, int record2 = 1, System.Data.DataViewRowState oldState2 = None , System.Data.DataViewRowState newState2 = 已添加) 第 3473 行 + 0x18 字节 C# System.Data.dll!System.Data.DataTable.SetNewRecordWorker(System.Data.DataRow row = "CustomerRow: Id:-1", int建议记录,系统.Data.DataRowAction action = Change, bool isInMerge, int position, bool fireEvent = true, out System.Exception deferredException = null) Line 3935 + 0x16 bytes C#
System.Data.dll!System.Data.DataTable.SetNewRecord(System.Data.DataRow 行,int建议记录,System.Data.DataRowAction 动作,bool isInMerge,bool fireEvent)第 3824 行 C# System.Data.dll!System.Data。 DataRow.SetNewRecord(int record) Line 1160 C# System.Data.dll!System.Data.DataRow.EndEdit() Line 631 + 0xa bytes C#
System.Data.dll!System.Data.DataRow.this[System.Data.DataColumn ].set(System.Data.DataColumn 列,对象值) 第 343 行 C#

行号在那里,因为我从 Visual Studio 的 MS 符号服务器功能为 System.Data.dll 加载了符号。有了这些数据,我可以进一步跟踪 OnListChanged 方法的这一部分的错误:

如果只是在检查 onListChanged != null 之后,显然出现了问题。我怀疑在 EndEdit 方法期间更新 DataRow 会触发此操作。当然,一个简单的沙箱来隔离这个问题并没有为我重现错误。SO上的其他人是否遇到过此错误,如果是,您是如何解决的?

我现在的任务是将 MarketingContactIsFulltimeChangedHandler 中的 BeginInvoke 调用到另一个在那里执行 CreditLevel 逻辑的方法。

0 投票
5 回答
49351 浏览

c# - 如何将 dataGridView 预定义列与 sql 语句中的列绑定(不添加新列)?

有没有一种优雅的方法将预定义的 dataGridView 列与 SQL 语句的结果绑定?

例子:

一些 SQL 之类的

然后我打电话

最后一次调用将列添加到我的数据网格,但我只想按列名绑定它而不是添加新列。

该示例将给出如下结果:

表列:ID、FirstName、FName、EID(ID 和 FirstName 包含空单元格)

如何得到这个:

此致!

0 投票
3 回答
2244 浏览

asp.net - Asp.net 将大数据视图绑定到 DataGrid

我有一个大约 2000 行的数据视图。在页面加载时,我想将 dataview 绑定到对象 datagrid :

然而,时间响应非常高(几分钟)。我该怎么做才能让它更快?或者至少我不能冻结客户端?

0 投票
1 回答
650 浏览

asp.net - 使用 RowFilter 和字符串的 ADO.NET 1.0 和 3.5 之间的区别?

我最近的任务是将应用程序从 .net 1.1 升级到 3.5,并在 DataView 上遇到了一个 RowFilter,它在两个版本之间具有不同的行为。

这是我在 1.1 中的代码块,它适用于 1.1 但不适用于 3.5。我尝试在 3.5 中运行它时遇到以下错误“无法在 System.String 和 System.Int32 上执行 '=' 操作” 1.1 和 3.5 都在访问同一个数据库,我只是对 1.1 如何看到字符串参数感到困惑并将其视为字符串,无需在其周围放置 tic 标记,但在 3.5 中,它会看到 rptNum 并要求您在其周围放置 tic。dv 中的字段是字符串 DataType。

这是我在 3.5 中更改的代码块,以便它可以工作。我必须在字符串参数周围添加 tic 标记,以便将其视为字符串。

0 投票
1 回答
434 浏览

asp.net - 有没有办法在 DataView 上使用参数化过滤器?

0 投票
1 回答
3451 浏览

winforms - 如何在 winforms ADO.net 应用程序中向我的 DataView 添加自定义非 DataTable 列?

我如何(/是否可能)向我的 DataView 添加自定义列,并在此列中显示特定计算的结果。

也就是说,我目前有一个 dataGridView,它基于我数据库中的 DataTable 绑定到一个 DataView。我想在 dataGridView 中添加一个附加列以显示一个数字,该数字是通过查看当前行加上它的子行计算得出的。换句话说,列的信息不仅仅是从行数据本身推导出来的。

具体问题可能是:a)在哪里添加列本身?到我假设的 DataView?b)从哪个方法/事件触发重新计算此自定义列的值(/我如何控制它)

谢谢

PS。我还注意到,如果我使用以下代码/方法,我会得到一个无限循环......

还有什么其他方法可以避免这种循环。即目前我说的是在行更改时更新自定义列的值,但是在更改行之后它会触发另一个“行已更改”事件...

0 投票
2 回答
2150 浏览

asp.net - DataTable.DefaultView.Sort 似乎不起作用

我填充了一个 DataTable,然后对该 DataTable 的 DefaultView 进行排序。当我将 DataTable 设置为报告的源时,排序不起作用。如果有帮助,这里是代码(GetData 返回一个有效的 DataTable):

0 投票
2 回答
2104 浏览

c# - C# 垂直方向的 DataGrid:更改列名

我目前正在使用我在浏览互联网时发现的一种技术,用于在 C# 中为 SharePoint Web 部件翻转 DataGrid 的方向。它工作正常,从 SQL Server 2005 数据库中提取数据并将其显示在 DataGrid 中。我想知道是否有一种简单的方法来更改列名,或者使用数据库中的扩展属性,或者,如果我可以手动设置它们(虽然我有很多列,所以我更喜欢将扩展属性添加到数据库并显示这些属性以代替字段名称)。

这是 FlipDataSet 方法:

我还想知道这是否是处理翻转数据网格方向的“正确”方法,或者至少是否有更好的方法来做这件事。

0 投票
1 回答
570 浏览

wpf - 在 WPF 中创建视图的视图

好的,所以我需要ICollectionView从现有的ICollectionView. 这个想法是我可以在现有视图上设置任何过滤器/分组/排序,然后从该“基本”视图创建其他视图,实际上是“分层”或聚合我的过滤器等。

ObservableCollection<T>当源集合(an )更新和数据项更新时,我需要最终视图“自动”更新其项目——比如调用该Refresh()方法。我需要避免对所有视图调用 Refresh,因为我们不知道原始集合和最终视图之间的所有视图,而且Refresh()速度非常慢。

我们试图避免滚动我们自己的视图类——我们更愿意(强烈)使用 .net 库中已经存在的东西。

更新

我们已就此致电 Microsoft。我知道其他人也有同样的问题,至少是WPF 博士告诉我的。

0 投票
1 回答
877 浏览

wcf - 在 WCF 服务中返回数据视图

我的 Web 服务中有一个方法,它返回一个 DataView,

我已经设置了一个与此服务对话的代理,但是当我在代理中使用此方法时

我收到错误“无法将类型'object []'隐式转换为'System.Data.DataView',我已经尝试使用谷歌搜索但没有得到任何帮助,我们将不胜感激。

谢谢