gpt4 book ai didi

c# - 当我更改表单数据网格的排序顺序时,在 form.ShowDialog() 上发生参数异常

转载 作者:行者123 更新时间:2023-11-30 16:31:03 30 4
gpt4 key购买 nike

好吧,我对这种情况感到非常困惑,所以请耐心等待。

在我的应用程序中,如果您单击一个按钮,我会打开一个编辑器表单

dgEditor = new fmDataGridFieldEditor();
dgEditor.ShowDialog();

这工作正常,我的表单显示并正确运行。该表单中有一个数据网格,其中包含一些指定的字段。现在,如果我随后更改数据网格的其中一列(仅用于数字的列)中的数据,然后通过单击列标题更改排序顺序,我的表单将崩溃。出现 ArgumentException 错误,在 dgEditor.ShowDialog(); 行上显示“Object must be of type Int32”。

我不明白发生了什么,甚至不知道如何开始调试它。当我修改现有行时,或者如果我输入的行已经排序(例如 0,1,2 很好,但 0,1,0 会导致崩溃)时,不会发生这种情况。

此外,我有 visual studio 2010 设置来中断所有异常,而不仅仅是未处理的异常,但我在同一个地方遇到异常。

最后,我绑定(bind)了数据网格的 ColumnSortModeChanged 事件以显示消息框,但即使排序没有使表单崩溃,消息框也不会显示。

我对如何继续这件事感到茫然。

最佳答案

调试器显示您编写的最后一行代码。这是 ShowDialog() 调用。如果查看 Debug + Windows + Call stack,就会看到 .NET 框架中涉及的方法。如有必要,向上滚动窗口以查看所有内容。 DataGridView 有很多内置功能,虽然您可以从 Reference Source 获得源代码,但它并不容易获得。并不是说这会有很大帮助,而是有很多帮助。

很明显,一行或多行中存在一些无效数据。看起来像一个领先的空间,只是猜测这里没有坐在你的机器前。实现 CellValidating 事件,以便用户无法输入格式不正确的数字。

关于c# - 当我更改表单数据网格的排序顺序时,在 form.ShowDialog() 上发生参数异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5108779/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com