问题标签 [datarowcollection]

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

vb.net - vb.net根据选择从绑定的datagridview中获取行的集合

我已经阅读并搜索过,但没有找到对我有帮助的小东西。我想我有一些简单的逻辑错误。好的,这就是我所拥有的:绑定到填充有文件名(和其他信息,主要是音频格式)的 Datatable 的 DataGridView。好吧,现在我已经编写了一个子(VS2013 并使用 .Net 4.0)进行打印,效果很好,我尝试添加一个选项以仅打印 DataGridView 中的选定行并认为可以,然后我将打印例程提供整行DataGridView 或仅基于该选项的选定行。这是我尝试过的:在表单级别上,我将 rowCollection 定义为: Dim rowCollection As DataGridViewRowCollection

BeginPrint Sub 然后具有以下行来获取行:

我认为 rowCollection 类似于单行数组,但显然这不起作用。如果我想打印所有行,这可以正常工作,但是对于选定的行,我收到一个错误,因为 DataGridView 是数据绑定的,所以不能将任何元素添加到行集合中。我认为 rowCollection 可以按单行填充,不仅链接到整个 DataGridView。我哪里错了?我还尝试仅将 .SelectedRows 作为集合获取,但随后出现类型错误,因为 DataGridView.Rows 和 DataGridView.SelectedRows 的格式不同?我想获得行或选定行的列表/集合/数组,然后我可以将其用于打印。任何帮助,将不胜感激

问候,

基督教

0 投票
0 回答
98 浏览

vb.net - 通过索引访问DataTable中的DataRows效率如何

我想知道当我按索引引用 .NET DataTable 中的 DataRow 时会发生什么。IE:

在编写 c++ 时,我对在数组类型的容器中存储数据以支持随机访问以提高速度有一定的兴趣。让我感到困扰的是,在通过索引请求行时,我找不到如何检索行的解释。

我看过 1 篇文章,其中提到行以树结构布局,因此按索引检索将执行某种分支搜索。这与基本列表功能不同,在基本列表功能中,必须遍历所需索引之前的每条记录才能对它们进行计数。

MSDN 在 DataTable 或 DataRowCollection 的文档中对此绝对没有评论(AFAIK)。谁能告诉我使用了什么样的搜索?

0 投票
1 回答
348 浏览

.net - 如何在不检查空值的情况下遍历数据集表的 DataRowCollection

我正在使用已经填充的数据集。我正在迭代表中的行,如下所示:

这工作正常,除非没有行,在这种情况下没有表,所以我得到一个“对象未设置为对象的实例”样式错误。(即 this.dataSet.Tables["tablename"] 为空,所以我实际上是在调用 null.Rows,这当然很糟糕)。

为了解决这个问题,我正在做:

坦率地说,这就像罪恶一样丑陋。我猜这是因为 .net 返回 null 而不是 null 对象。

有没有一种方法可以简单地循环遍历表的行,如果表不存在则循环遍历空集合?

0 投票
2 回答
5988 浏览

c# - 从 .NET 2.0 中的 DataTable 列中获取不同的值

我正在开发一个使用 .NET Framework 2.0 开发的遗留项目。在这个项目中,我从列中DataRowCollection得到不同的值。ItemNo我只对ItemNo. DataRowItemNoQty组成Date。_

我正在考虑迭代DataRowCollection并将唯一性添加ItemNo到字符串列表中,如下所示(未测试)

没有 LINQ 有没有更好的方法(.Net Framework 2.0 不喜欢 LINQ)

0 投票
1 回答
32 浏览

c# - 如何填充 DataRow 并根据条件将其分配给两个表之一?

我有一个应用程序正在处理数据,该应用程序需要根据是否翻转来对数据进行排序。这些表是相同的。代码看起来像这样:

现在,我遇到的一个明显问题是,如果该行尚未附加到表格,ImportRow()则会静默失败,最终得到一张空表格。当我将其更改为:

我开始收到一个异常,说一个函数试图为另一个表添加一个存在的行。所以当我尝试这个时:

异常停止了,但是任何分配给的尝试dt2仍然表明该行属于另一个表,但是如果我注释掉该dt2 if语句并只是尝试ImportRow(),则dt2.Rows.Count仍然为 0 并且没有分配记录。

在知道它属于哪个表之前,我需要填充DataRow它,但我不知道该行在达到此功能之前将具有哪些列。指示它应该转到哪个表的条件DataTable.

问题是即使它们具有相同的列,NewRow()是否向行添加了一个属性,使其与姊妹表不兼容?NewRow()有没有一种方法可以获得与(在不知道任何列是什么的情况下提前复制模式)相同的功能但我可以动态分配的方法?我知道我可能可以手动构建一个兼容的行,方法是将其包装在一个for循环中并在每次我需要使用该DataTable.Columns属性的新行时构建列,但如果可能的话,我想避免这样做。

0 投票
2 回答
1379 浏览

c# - “收藏已修改;System.Data.TypedTableBase<> 中的枚举操作可能无法执行

我有一个 .NET 4.0 程序集;它在 GAC 中注册并作为 BizTalk“编排”的一部分工作。有时我会收到以下错误 - “收藏已修改;枚举操作可能不会执行。:System.InvalidOperationException:集合已修改;枚举操作可能无法执行。”。我无法复制它;当我对相同的数据运行相同的处理时,我的程序集不会在这个地方产生错误。

当我为数据表对象调用“.Where().ToArray()”时会发生错误:类 System.Data.TypedTableBase 的对象。

这是代码: .....

对象“实例”是一个数据集——我的类是从 System.Data.DataSet 生成的。属性“instances.WorkContributors”是一个数据表:System.Data.TypedTableBase 类的对象。MyDataRowClass 类是从 System.Data.DataRow 生成的。

错误后的调用堆栈如下: Collection was modified; 枚举操作可能不会执行。:System.InvalidOperationException:集合已修改;枚举操作可能不会执行。在 System.Data.RBTree 1.RBTreeEnumerator.MoveNext() at System.Linq.Enumerable.<CastIterator>d__971.MoveNext() 在 System.Linq.Enumerable.WhereEnumerableIterator 1.MoveNext() at System.Linq.Buffer1..ctor(IEnumerable1 source) at System.Linq.Enumerable.ToArray[TSource](IEnumerable1 来源)在 MyProduct.FileParser.Validation.Concreate.PwrTypeValidation.ValidatePublisherNumber() 在 MyProduct.FileParser.Validation.Concreate.PwrTypeValidation.Validate () 在 MyProduct.FileParser.Groups.CWR.NWRGroup.StoreGroup(Int32 workBatchID, CWRFileCommonData commonData) 在 MyProduct.FileParser.CWRParser.ProcessCWRFile(String文件名,布尔等待,布尔删除文件,字符串源文件名)

我不明白为什么会发生错误;以及为什么它只偶尔发生并且不会再次发生在相同的处理数据上。错误“收藏已修改;枚举操作可能无法执行。” 对我来说,这本身就很简单;但我不明白为什么它会发生在我的代码中。如果像这样的代码,则该错误除外:

但是我上面的代码只是想枚举 System.Data.TypedTableBase 并将结果转换为数组。

有任何想法吗?

0 投票
1 回答
79 浏览

c# - 为什么我不能用 linq 迭代可以用 foreach 迭代的东西?

我有一组表行(类型DataRowCollection)。我这样写是完全有效的:

然而,以下内容将无法编译:

甚至

这些 System.Linq 扩展期望什么DataRowCollection不能实现?

0 投票
0 回答
57 浏览

c# - 如何迭代 DataRow 的集合而不必强输入它?

我有一个 Excel 输入文件,我需要处理下一个流程。当前设置是将 Excel 导入 Azure 函数以检索数据,然后继续处理它。业务逻辑方面在下面提到。稍后将手动触发 Azure 函数或通过 blob 触发器进行处理。

本质上,主要要求之一是使其处理方面具有通用性。通用的意思是业务逻辑需要有足够的能力将输入文件拆分为由“自定义列”定义的多个文件。例如,人“A”希望按一列对输入文件进行分组,但人“B”可能希望按另一列分组,或者人“C”可能希望按多列分组。也只是为了增加事物的复杂性,给定的输入文件可能并不总是具有相同的列名,但现在可以忽略这一点,并且可以假设给定的文件每次都具有相同的列名。有什么建议吗?

要求:根据动态输入对行进行分组(告诉按什么进行分组)。目前它的动态输入方面可以以任何方式完成(这部分没有要求,可以是任何格式或其他)。“动态输入”只是告诉业务逻辑根据什么分割文件。

示例:给定上面的输入,人“A”想要 RunbookName 的单独文件,因此人“A”的输出是:

示例:给定上面的原始输入,人“C”可能需要 RunbookName AND Architect 的单独输出文件,因此输出为:

目前我对这段代码有疑问:

我想实现这样的事情,假设我们知道从用户提供的动态输入文件提供的 RunbookName 的数据类型:

或者甚至更好地尝试做这样的事情,而不必为了获得价值而强行输入它:

感谢您查看问题。

0 投票
1 回答
15 浏览

datarow - 如何修复数据集合中数据行的后期绑定,其中数据行变量在范围内定义

我正在为我的公司将 VB 转换为 C#.Net。为了更容易地做到这一点,我有选项严格打开。我正在尝试解决以下代码的后期绑定。被编译器视为一个对象。我从来没有以这种方式编写过代码(其他人的工作)。这是代码。

0 投票
1 回答
31 浏览

datatable - 将 Janus Grid 中的一个或多个选定行复制到 DataRowCollection 或 DataRow[]

我有一个 Janus Grid,每行都有一个复选框,并且想将选定的行复制到 DataRowCollection 或 DataRow[] 。这是我的方式,但没有完成,也没有工作:这个网格在一个字段上也有组,我使用2 组和孩子的循环。