问题标签 [currencymanager]
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.
c# - EnforceConstraints 抛出 NullReferenceException
我遇到了一个奇怪的行为,当我尝试更改 EnforceConstraints 值“false”>“true”时,它会引发 NullReferenceException。
最奇怪的是,当我尝试保存数据 3 次时抛出异常。
1. 创建数据(dataTable1 中的新行)。保存。
2.更改一些字段值。保存。
3. 更改相同的数据。尝试保存但出现异常。
4.如果我更改相同的数据并再次尝试保存,我会再次收到异常,但如果我不这样做,所有数据都会完美保存。
注意 1:当我使用创建、保存的数据并重新加载包含此数据的表单时,不会引发异常。
注意 2:当我调用currencyManager.EndCurrentEdit();时,(1, 2) 和 3 点场景之间的所有行为差异都会发生。一个与我的dataSet1相关的控件。如果我在场景的第 1 点和第 2 点中尝试在EndCurrentEdit()前一步和后一步调试期间更改 EnforceConstraints 值,调试器将显示异常。但是在调用EndCurrentEdit()后的第 3 点中,我可以将调试器中的 EnforceConstraints 值从“false”更改为“true”,然后返回没有任何问题。
PS:我知道这些信息可能还不够,但是项目非常庞大,我需要一些想法,如何找到我的 NullReferenceException 的原因。
我只需要有关 MSDN 中的 currencyManager.EndCurrentEdit() 和 EnforceConstraints 的更多信息。或者可能是我错过了什么或者它是微软的错误?谢谢你。
更新:
StackTrace:
在 System.Data.DataSet.EnableConstraints()
的 System.Data.DataColumn.IsNotAllowDBNullViolated()
在 System.Data.DataSet.set_EnforceConstraints(布尔值)
在 MyProject.MyMethod() 在 d:...\ SomeFileName.cs:line 9795
异常消息:
“对象引用未设置为对象的实例。”
.net - 隐藏 DataGridView 第 0 行会产生错误
在我的 DataGridView 中,如果该行是索引 0,它无法隐藏一行。
与货币经理职位相关的行不能隐藏
vb.net - “没有行可以添加到没有列的 DataGridView 控件。必须先添加列。” 向 DataTable 添加行时
尝试将行添加到 DataTable 时,我收到以下消息:“无法将行添加到没有列的 DataGridView 控件。必须先添加列。” 有趣的是,我试图将行添加到的 DataTable 在添加行时确实有三列。似乎故障发生在货币管理器上,位于行插入堆栈中。这是我的代码:
这是调用堆栈:
任何帮助将不胜感激!
c# - 当 bool 更改为 true 时,试图在我的 DataGridView 中隐藏一行
我在 SO 上看到了关于这个主题的一些问题,但建议的修复在我的代码中没有任何变化。
这就是我所拥有的。
附加信息:与货币经理职位相关的行不能隐藏。
以上几乎是对大多数其他用户的修复,任何猜测为什么它不适合我?
编辑:
我添加了一个新行来清除 CurrentCell,它现在提供了一个新错误;
操作无效,因为它会导致对 SetCurrentCellAddressCore 函数的可重入调用。
c# - CurrencyManager 防止在 DataGrid 中隐藏一行
我不知道 Currencymanager 到底是干什么用的。我没有明确实现它,但它阻止我在我的数据网格中隐藏行。
我从具有几列的 csv 文件构建数据网格。其中之一包括双倍金额(价格)。
当我想将所有行的数量设置为不可见时
它告诉我喜欢
当我隐藏基于 ex 字符串的另一种列数据类型的行时,错误不会出现 - 仅当值为双精度时。
编辑:我通过捕获 InvalidOperationException 并忽略它暂时解决了这个问题。无论如何它都会执行。但我认为这不是很好的方式:S
我可以以某种方式取消对货币经理的债券吗?
.net - 如何连续循环通过 DataGridView 行?
这似乎是一个重复的问题,但我正在寻找一个特定的功能。我查看了 StackOverflow 和 Google 上的类似问题,并尝试使用许多不同的代码示例,但到目前为止,还没有成功?
我在做什么:
- 在运行时,即
Form1_Load
,我调用一个函数在 DataGridView 中显示“MyFolder”中所有文件的文件信息。 - 我使用 Next/Previous 按钮循环浏览 DGV 行。
我的代码:
问题:
Next按钮以“连续循环”循环通过所有 DGV 行,无一例外。“连续循环”是指我的程序循环遍历所有行而不会停止,无论是在第一行 (0) 还是在最后一行(即,只要我继续按下 Next 按钮,就会发生循环)。
只有当我第一次使用 Next 按钮更改所选行(即 First > Last)时,Previous 按钮才有效。然后,点击Previous 按钮将所选行更改为返回到第一行(即Last > First)。但是,当程序到达第一行时,它会抛出如下异常:
“System.ArgumentOutOfRangeException:'索引超出范围。必须为非负数且小于集合的大小。参数名称:索引'”
- 解决超出范围异常。
- 解决所有行的循环/循环问题?
我尝试过的:
除了我上面的尝试(和许多其他尝试)之外,我在 StackOverflow 上找到了以下代码,它解决了同样的问题,但它也停在第一行而不循环遍历所有行:
移至 datagridview
中的上一行 移至 datagridview 中的上一行
期望的行为:
我将不胜感激任何帮助,以使上一个按钮的行为方式与下一个按钮的行为方式相同,即连续循环遍历所有行而不会引发异常。
我做了很多尝试来寻找逻辑来“包含”该范围内先前行的选择,但没有成功。但是,我真的很喜欢 Next 按钮在行中连续循环而不停止的方式,并且希望将此行为复制到 Previous 按钮,以便能够在不停止的情况下连续循环两种方式(即 Next/Previous)?我也尝试了几个不同的For Each
循环,但无法让代码以所需的方式工作?
有谁知道我如何实现这一目标?
c# - 在 Form 与其 MDIParent 分离后,CurrencyManager PositionChanged-Event 停止工作
我遇到了一个奇怪的问题,当我将 MDIChild 与其父级分离时,CurrencyManager PositionChanged 事件停止工作。我在我的主应用程序中得到了这种行为,并且能够在一个简单的测试应用程序中重现它。
它是 .NET 4.8 上的 WinForms 应用程序。
测试应用程序将 Form1 作为 MDIParent,将 Form2 作为 MDIChild。启动应用程序时,Form1 被加载并立即初始化 Form2 并将其 MDIParent-Property 分配给 Form1。Form1 也有一个按钮来分离当前活动的 MDIChild,因此它可以独立移动。
Form2 有一个绑定了 CurrencyManager 的 DataTable。对于此示例,数据表被分配给 datagridview。当我单击 datagridview 中的一行时,会引发 cm_PositionChanged() 事件,并且该表单上的标签显示 CurrencyManager 的当前位置:
但是,当我单击 Form1 上的“分离 MDI 子项”按钮时,Form2 被分离,但 CurrencyManager 不再起作用。显然,该事件甚至不再被提出。
我不知道为什么会发生这种情况。一个疯狂的猜测是,这是因为 Form.Handle 发生了变化,但这只是一种直觉,我不知道如何防止这种情况发生。有任何想法吗?