社区
PowerBuilder
帖子详情
请教:怎样时数据窗口的一行变为不可编辑?
benshe
2001-12-26 03:11:39
并确保添加下一行,是可以编辑的?
...全文
258
24
打赏
收藏
请教:怎样时数据窗口的一行变为不可编辑?
并确保添加下一行,是可以编辑的?
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
24 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
benshe
2001-12-28
打赏
举报
回复
不是啦,我的嘴太笨了。。。
因为a列的edit或者dddw属性,是根据其他列动态改变的。此行为dddw,下行为edit时,上一行的a列中的值就显示成id而不是name了。
leaf_cq
2001-12-28
打赏
举报
回复
a列edit的style type为什么要动态改变呢?
Leony
2001-12-27
打赏
举报
回复
小弟我以前是这样做的,增加的时候把每列的protect设成0,确定之后又把它设成1,多麻烦,现在好了,设if(isRowNew(),0,1)就行了,谢谢!谢谢1
poppyboy
2001-12-27
打赏
举报
回复
用这个:dw_1.setitem(row,"id",value)
benshe
2001-12-27
打赏
举报
回复
look
leaf_cq
2001-12-27
打赏
举报
回复
因为你的data column是id,所以你的每条记录的id的值等于a的值,所以你可以直接使用
a的值就可以了
benshe
2001-12-27
打赏
举报
回复
是这样的,a列在数据窗口的dw1,a列设置为dddw,其对应的数据窗口对象,有id和name2列。
(数据窗口对象设计时隐藏id,但让其只显示name.)
此dw1是用来生成查询用的where子句的,即查询时用a列的id.
我也不知道我说明白了没有。
benshe
2001-12-27
打赏
举报
回复
look
leaf_cq
2001-12-27
打赏
举报
回复
既然data column 是id,display column 是name,那么显示当然是name了,至于a列的查询和
a列的edit style为edit是一样的,如(设a列的列名为a,类型为numeric):
sle_1.text = 'a > 200 and a < 1000'
------------------------------------
dw_1.SetFilter( '' )
dw_1.Filter( )
dw_1.SetFilter( sle_1.text )
dw_1.Filter( )
不知道我对你的“用id查询”是否理解正确
benshe
2001-12-27
打赏
举报
回复
data column 是id,
display column 是name
即想显示name,用id查询。
leaf_cq
2001-12-27
打赏
举报
回复
还是你自己的方法管用:)
不知道你dw_1的a列中的数据类型是和id一样呢还是和name一样(也就是你的dddw选定后,你的data column和display column分别是选的哪一列呢?)
azjiao
2001-12-26
打赏
举报
回复
to benshe(小笨蛇) :
谢谢,我也正找答案。可巧,找到了。
benshe
2001-12-26
打赏
举报
回复
还有一个问题:
dw_1中a列为dddw,对应一个数据窗口对象,包括name,id。
显示name,用id查询。
我怎样用settext确保 a列上显示的是name而不是id??
benshe
2001-12-26
打赏
举报
回复
thank you you all.
我在 每列的 protect 里写 "if(getrow()<>rowcount(),1,0)" ,就可以了。
leaf_cq
2001-12-26
打赏
举报
回复
还有什么问题和特殊的要求吗?
benshe
2001-12-26
打赏
举报
回复
uupp
leaf_cq
2001-12-26
打赏
举报
回复
方法根据你的规范用户动作的不同而不同,给个一般例子:
dw_1的需要保护的列的 protect Expressions: if( isRowNew(), 0, 1 )
定义instance变量:
long il_newrow = 0
在“新增”按键中:
if il_newrow > 0 then
if dw_1.GetItemStatus( il_newrow, 0, Primary! ) = New! then // 不允许插入空列,可根据自己不同的要求而定
dw_1.setrow( il_newrow )
dw_1.ScrolltoRow( il_newrow )
dw_1.SetFocus( )
return
else
dw_1.SetItemStatus( il_newrow, 0, Primary!, DataModified! )
end if
end if
il_newrow = dw_1.InsertRow( 0 )
dw_1.ScrollToRow( il_newrow )
dw_1.SetFocus( )
……
return
在“删除”及相类似操作脚本中加入:
long ll_row
……
ll_row = dw_1.GetRow( )
if ll_row = il_newrow then il_newrow = 0 // ★★★
dw_1.DeleteRow( ll_row )
……
return
poppyboy
2001-12-26
打赏
举报
回复
在每个Column中,比如这样:if( isNull(Column),0, 1 )
poppyboy
2001-12-26
打赏
举报
回复
在Expressions中的protect中设定条件
benshe
2001-12-26
打赏
举报
回复
是要添加新一行前,把当前行变为不可编辑的。
加载更多回复(4)
数据
窗口
中限定某列
不可
编辑
一、问题的提出在进行PowerBuilder应用系统开发过程中,对于某些
数据
录入
窗口
,我们希望将某列置为
不可
编辑
的,防止用户由于操作不慎而删掉
数据
。下面介绍如何实现这一功能。在PowerBuilder的DataWindow里,如果设定Grid风格,那么这个DataWindows就具有这样一个特点:当用鼠标点列名后,即可选中整列(该列反显成黑色)。这就为我们解决问题提供了一些思路:用鼠标点中某列,使
pb 如何判断
数据
窗口
中是否有某个字段_PB
数据
窗口
中限定某列
不可
编辑
该楼层疑似违规已被系统折叠隐藏此楼查看此楼问题的提出在进行PowerBuilder应用系统开发过程中,对于某些
数据
录入
窗口
,我们希望将某列置为
不可
编辑
的,防止用户由于操作不慎而删掉
数据
。下面介绍如何实现这一功能。在PowerBuilder的DataWindow里,如果设定Grid风格,那么这个DataWindows就具有这样一个特点:当用鼠标点列名后,即可选中整列(该列反显成黑色)。这就为我们解...
Datagridview
编辑
时
单元格颜色
变为
黑色
Datagridview
编辑
时
单元格颜色
变为
黑色 使用datagridview遇到的问题。我第一次也无法解决它。 网格从
数据
表中手动填充,用户可以
编辑
单元格中的值。但是,单元格的背面颜色
变为
黑色,您无法看到正在键入的内容。一旦用户离开单元格,颜色就会恢复正常,并且值也已更改。但由于背景颜色
变为
黑色(与字体相同),用户无法看到他/她正在输入的东西,这很疯狂。 //手动输入
时
,单元格变化事件 private void dataGridView1_EditingControlShowing(objec
PowerBuilder(PB)
数据
窗口
DataWindow的表格
不可
编辑
状态修改
一、问题描述 在用PowerBuilder正常选择
数据
源,创建好DataWindow后,
数据
表格的列不能获得焦点,不能
编辑
,鼠标点击
时
显示一个黑块。 图1
数据
表
不可
获取焦点,
不可
编辑
二、解决方法 1. 显示
数据
列的标签顺序 TabOrder : 图2
数据
表列的标签顺序 Tab Order 2. 修改标签顺序,修改原则:0 为默认,代表
不可
编辑
;之后以 10 为步长递增(PowerBuilder的规则); 三、其他影响因素 列
编辑
Edit 属性 数...
C# WINFORM 主
窗口
把
数据
传给子
窗口
,
编辑
后再返回主
窗口
主
窗口
有
数据
要传递给子
窗口
,比如下面的子
窗口
: 主
窗口
中的代码,打开子
窗口
实例的
时
候,直接把主
窗口
的listview控件传入: private void toolStripButton1_Click(object sender, EventArgs e) { FormAdd f = new FormAdd(listView1); f.ShowDialog(); ShowListView();
PowerBuilder
1,111
社区成员
66,454
社区内容
发帖
与我相关
我的任务
PowerBuilder
PowerBuilder 相关问题讨论
复制链接
扫一扫
分享
社区描述
PowerBuilder 相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章