gpt4 book ai didi

.net - .NET DataGridView : Correct way of dealing with parsing errors while handling the CellParsing event?

转载 作者:行者123 更新时间:2023-12-03 07:45:07 25 4
gpt4 key购买 nike

我目前正在开发 Angular 测量设备(测角仪)的应用程序。DataGridView组件用于配置测量 Angular 标称值(和公差)。用户应该能够以各种方式输入 Angular ,例如2°(度)或120'(弧度分钟)或7200“(弧秒)。为此,我创建了一个解析器,它将转换有效的字符串到 Angular 值(以度为单位的 double ),或者如果字符串无效则失败。

据我了解,调用解析器的正确时间是在处理CellParsing事件期间。 但是解析失败时如何正确处理呢?

根据MSDN示例代码,我想到了应该将ParsingApplied(传递给DataGridViewCellParsingEventArgs处理程序的)的CellParsing属性设置为false的想法。如果执行此操作(并保持Value属性不变),则转换尝试将引发FormatException,然后由引发DataError事件的框架完成转换。
我希望有一个异常,该异常包含有关导致我的解析器实现失败的特定错误的信息,而不是包含非常具体的错误消息的FormatException,因此我可以在DataError事件中显示特定的错误消息。我假设我可以从FormatException处理程序中自己抛出CellParsing,但是此异常未被框架捕获,因此不会导致引发DataError事件(实际上,最外面的异常处理程序会终止应用程序)。

最佳答案

DataGridView数据错误是梦the以求的事情。
最近,我不得不处理很多事情,最后,我只是放弃并自己实现了DataGridViewColumnDataGridViewCell。这样做可以避免所有解析错误,因为您可以在单元格的ParseFormattedValue方法中专门处理所有错误。

我在所有这些方面的经历都很动荡,但是非常值得,因为现在我有了一个用户界面,该界面允许将许多不同类型的数据输入到单元中。

您可以在我发布在MSDN here上的一个问题中看到一些我想到的代码。
您可以对其进行调整以匹配您自己的格式(希望您可以看到它在做什么)。

关于.net - .NET DataGridView : Correct way of dealing with parsing errors while handling the CellParsing event?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2281143/

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