Datawindow.net 子数据窗口出错
devexpress通过标签页面打开用户控件,数据窗口嵌入用户控件中。当点击数据窗口含下拉数据窗口字段时出现如下错误:
未处理 System.NullReferenceException
Message="未将对象引用设置到对象的实例。"
Source="DataWindowInterop"
StackTrace:
在 DataWindowInterop.DW_Events.CatchNotify(Int32 given_HWND, UInt32 Message, UInt32 wParam, Int32 lParam, Void* VM_Object)
在 System.Windows.Forms.UnsafeNativeMethods.CallWindowProc(IntPtr wndProc, IntPtr hWnd, Int32 msg, IntPtr wParam, IntPtr lParam)
在 System.Windows.Forms.NativeWindow.DefWndProc(Message& m)
在 System.Windows.Forms.Control.DefWndProc(Message& m)
在 System.Windows.Forms.Control.WmMouseDown(Message& m, MouseButtons button, Int32 clicks)
在 System.Windows.Forms.Control.WndProc(Message& m)
在 Sybase.DataWindow.DataWindowControl.WndProc(Message& msg)
分析可能原因:
(1) 可能是子数据窗口找不到窗口句柄导致出错。
(2) 数据窗口taborder第一个的字段带有子数据窗口。
解决方法:继承Sybase.DataWindow.DataWindowControl,覆盖重写WndProc并捕捉异常,让错误不再传递到数据窗口控件外层。
补充:
经过多次不断测试及代码排查终于发现问题所在:
原来是数据窗口的ItemFocusChanged引发的System.NullReferenceException异常。
private void dwCard_ItemFocusChanged(object sender, ItemFocusChangedEventArgs e)
{
string colname = e.ColumnName.ToUpper();
dwCard.CurrentEdit.SelectText(0, (short)(dwCard.CurrentEdit.TextLength)); //选择已有的数据
}
如果第一个字段是带下拉数据窗口就会出现如下异常:
dwCard.CurrentEdit.TextLength = “dwCard.CurrentEdit.TextLength”引发了“System.NullReferenceException”类型的异常
转载于:https://www.cnblogs.com/janehlp/p/4927715.html
Datawindow.net 子数据窗口出错相关推荐
- 打开计算机无法关闭窗口,电脑中“打开或关闭Windows功能”窗口出错无法显示怎么解决...
当我们想要开启或删除电脑系统中的某些应用时,需要打开控制面板中的"打开或关闭Windows功能"窗口来进行设置.但是,有的用户可能由于某些原因导致打开该窗口出错,无法显示里面 ...
- 60个数据窗口技巧(转)
60个数据窗口技巧 1.如何让存储文件目录的列,显示图片? 答:选择对应的column的display as picture属性为true 2.如何复制grid类型的所选择的行的数据到系统剪切板? 答 ...
- PowerBuilder DataWindow 38个开发技巧
PowerBuilder DataWindow 38个开发技巧 1 使DataWindow列只能追加不能修改 如何使DataWindow中的数据只能追加新记录而不能修改,利用 Column 的 P ...
- datawindow技巧
1.如何复制graph风格的datawindow中的图形到剪切板? 答:dw_1.clipbord("gr_1") 2.如何使用datawindow的查询模式? 答:dw_1.Ob ...
- 数据窗口控件的函数Describe()
Describe() 功能:返回数据窗口控件结构方面的指定信息包括DataWindow 对象以及数据窗口 对象中其他对象的属性取值数据窗口中的每个列每个标题等等都是对象各自都有一 组描述其特 ...
- PB的DataWindow的38个技巧
1 使DataWindow列只能追加不能修改 如何使DataWindow中的数据只能追加新记录而不能修改,利用 Column 的 Protect 属性可以很方便的做到这一点,方法如下: 将每一 ...
- PowerBuilder创建动态数据窗口综述
摘 要 PowerBuilder动态数据窗口技术为开发人员提供了强大.灵活的数据窗口开发手段,是PowerBuilder开发人员必修功之一.本文结合具体实例较为详细地介绍了这一技术. 数据窗口可以说是 ...
- DATAWINDOW技巧2
66.数据窗口dw_1中有一列是用下拉数据窗口表示,怎么才能动态改变下拉数据窗口,也就是动态调用不同的下拉数据窗口 datawindowchild ldwc_1 getchild("含有dd ...
- PB的DataWindow的38个技巧(转)
1 使DataWindow列只能追加不能修改 如何使DataWindow中的数据只能追加新记录而不能修改,利用 Column 的 Protect 属性可以很方便的做到这一点,方法如下: 将每一 ...
最新文章
- Erlang 之父去世,他留给程序员两点忠告
- Datepicker
- Vue2.0 的漫长学习ing-2-6
- 什么情况下需要搭建大数据平台
- js 中堆和栈的应用与理解
- FL Studio20.8中文版界面下载更新内容介绍
- Spark Mllib里数据集如何取前M行(图文详解)
- 人工智能你必须掌握的32个算法(二)归并排序算法
- jq ui-selectable中click单击事件,dblclick双击事件无效
- protel dxp2004第三讲之仿真设计
- 亚信科技2019Java笔试题_2019亚信科技(asiainfo)面试经验(产品助理,后端工程师等)...
- deepin设置快捷键
- 多目标水母搜索(MOJS)算法(Matlab实现)
- php 视频网站采集器,自己在用的视频网站开源,真正的自动采集无需手动更新...
- (菜鸟python)统计字符串的字符数和标点数
- SpringCLoud+redis+es高并发项目《四》
- 树状数组再进阶(区间修改+区间查询)
- 初探 sort 方法和 sorted 内置函数
- PMP续证费用和流程
- element Carousel 走马灯 一次轮播3张图片(整理)