找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 2509|回复: 10

[求助] Grid 获得cell文字!

[复制链接]

已领礼包: 146个

财富等级: 日进斗金

发表于 2013-5-15 10:20:24 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
本帖最后由 qianzj 于 2013-5-15 10:29 编辑

如何通过单击鼠标某行某列cell, 获得其文本! 如下lisp红色部分不能取得, 试过(dcl_Grid_GetCurCell txtdict_Form1_格1)得到Row column好像不行!
求解决!
  1. (defun C:tt()
  2. (dcl_Project_Load "txtdict" T)
  3. (defun c:txtdict_Form1_OnInitialize (/)
  4. (dcl_Grid_AddColumns txtdict_Form1_格1
  5. (list (list "给水" 2)
  6.       (list "污水" 2)
  7.       (list "废水" 1)
  8.       (list "消防" 1)
  9.       (list "喷淋" 1)
  10. ))

  11. (setq *list
  12. (list
  13. (list "aSL1" "aWL1" "aFL1" "aXL1" "aZL1")
  14. (list "aSL2" "aWL2" "aFL2" "aXL2" "aZL2")
  15. ))
  16. (dcl_Grid_FillList txtdict_Form1_格1 *list)
  17. (setq txt (dcl_Grid_GetCellText txtdict_Form1_格1 Row Column))
  18. )
  19. (defun c:txtdict_Form1_GraphicButton1_OnClicked (/)
  20. (dcl_Form_Close txtdict_Form1 3)
  21. );以下参考牢固版主
  22. ;循环加载
  23. (setq doContinue T) ;_ 设置对话框可循环加载标志
  24. (while doContinue ;; 为避免进入死循环,首先将循环标志doContinue 设为nil,是否继续循环,由对话框的按钮事件来控制
  25. (setq doContinue nil)
  26. (setq intResult (dcl_Form_Show txtdict_Form1))
  27. (cond
  28. ((= intResult 1) (setq doContinue nil))
  29. ((= intResult 2) (setq doContinue nil))
  30. ((= intResult 3)
  31. (text) ;_ 执行屏幕选点子程序
  32. )
  33. );cond
  34. );while
  35. )
  36. (defun text ()
  37. (setq pt (getpoint "\n请选择点:"))
  38. (command "text" pt "350" "0" txt)
  39. (setq doContinue T)
  40. )


txtdict.odcl

822 Bytes, 下载次数: 18, 下载积分: D豆 -1 , 活跃度 1

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 145个

财富等级: 日进斗金

发表于 2013-5-15 10:27:13 | 显示全部楼层
把ODCL传论坛来吧,方便大家测试。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2013-5-15 10:30:30 | 显示全部楼层
[pcode=lisp,true]
(setq txt (dcl_Grid_GetCellText txtdict_Form1_格1 Row Column))
[/pcode]

row , column 这里有值吗? 你先测试下,没ODCL文件,看不到其他什么,这句代码你说不能,有什么错误提示没?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 146个

财富等级: 日进斗金

 楼主| 发表于 2013-5-15 10:48:29 | 显示全部楼层
XDSoft 发表于 2013-5-15 10:30
(setq txt (dcl_Grid_GetCellText txtdict_Form1_格1 Row Column))
[/pcode]

没有值  我把Row=1 Column=2代入可以得到文字
我的本意是 通过鼠标单击单元格cell 能得到Row Column 从而得到该单元格文字  
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 344个

财富等级: 日进斗金

发表于 2013-5-15 11:14:13 | 显示全部楼层
本帖最后由 牢固 于 2013-5-15 16:37 编辑
qianzj 发表于 2013-5-15 10:48
没有值  我把Row=1 Column=2代入可以得到文字
我的本意是 通过鼠标单击单元格cell 能得到Row Column 从 ...

请使用OnButtonClicked事件!  
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 146个

财富等级: 日进斗金

 楼主| 发表于 2013-5-16 10:27:31 | 显示全部楼层
牢固 发表于 2013-5-15 11:14
请使用OnButtonClicked事件!

(defun c:txtdict_Form1_OnInitialize (/)
(dcl_Grid_Clear txtdict_Form1_格1)
(setq *list
(list
(list "aSL1" "aWL1" "aFL1" "aXL1" "aZL1")
(list "aSL2" "aWL2" "aFL2" "aXL2" "aZL2")
))
(dcl_Grid_FillList txtdict_Form1_格1 *list)
)
(defun c:txtdict_Form1_GraphicButton1_OnClicked (/)
(dcl_Form_Close txtdict_Form1 3)
)
(defun c:txtdict_Form1_格1_OnButtonClicked  (Row Column/)
(setq RCLIST (dcl_Grid_GetCurCell txtdict_Form1_格1))
(setq txt (dcl_Grid_GetCellText txtdict_Form1_格1 (car RCLIST) (cadr RCLIST)))
)
(defun c:txtdict_Form1_格1_OnDblClicked (Row Column /)
  (dcl_MessageBox "To Do: code must be added to event handler\r\nc:txtdict_Form1_格1_OnDblClicked" "To do")
)
(defun C:tt()
(dcl_Project_Load "txtdict" T)
(setq doContinue T) ;_ 设置对话框可循环加载标志
(while doContinue ;; 为避免进入死循环,首先将循环标志doContinue 设为nil,是否继续循环,由对话框的按钮事件来控制
(setq doContinue nil)
(setq intResult (dcl_Form_Show txtdict_Form1))
(cond
((= intResult 1) (setq doContinue nil))
((= intResult 2) (setq doContinue nil))
((= intResult 3)
(text) ;_ 执行屏幕选点子程序
)
);cond
);while
)
(defun text ()
(setq pt (getpoint "\n请选择点:"))
(command "text" pt "350" "0" txt)
(setq doContinue T)
)
----------------------------------------------------------------------------------------------------
改成这样 好像onbuttoncliked 事件没有动作一点反应都没有  好奇怪。。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 146个

财富等级: 日进斗金

 楼主| 发表于 2013-5-16 11:58:23 | 显示全部楼层
牢固 发表于 2013-5-15 11:14
请使用OnButtonClicked事件!

我用双击事件却成功了  c:txtdict_Form1_格1_OnDblClicked
崩溃啊。。为啥OnButtonClicked事件没响应
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 51个

财富等级: 招财进宝

发表于 2013-5-16 12:01:45 | 显示全部楼层
qianzj 发表于 2013-5-16 11:58
我用双击事件却成功了  c:txtdict_Form1_格1_OnDblClicked
崩溃啊。。为啥OnButtonClicked事件没响应

ODCL文件里面,确定把单击事件给勾上了?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2013-5-16 12:11:23 | 显示全部楼层
qianzj 发表于 2013-5-16 10:27
(defun c:txtdict_Form1_OnInitialize (/)
(dcl_Grid_Clear txtdict_Form1_格1)
(setq *list

LZ你是想获得列标题还是获得单元格的文本?dcl_Grid_GetCurCell 获得的列表中如果有负值表示选择了整行或整列,是没办法获得单元格的文本的,OnButtonClicked事件只有单元格风格有按钮的单元格才会触发。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 146个

财富等级: 日进斗金

 楼主| 发表于 2013-5-16 12:22:09 | 显示全部楼层
Gdlprfcu 发表于 2013-5-16 12:11
LZ你是想获得列标题还是获得单元格的文本?dcl_Grid_GetCurCell 获得的列表中如果有负值表示选择了整行或 ...

获得单元格的文本   我用OnDblClicked可以获得文本
(defun c:txtdict_Form1_格1_OnDblClicked  (Row Column/)
(setq RCLIST (dcl_Grid_GetCurCell txtdict_Form1_格1))
(setq txt (dcl_Grid_GetCellText txtdict_Form1_格1 (car RCLIST) (cadr RCLIST)))
(dcl_Form_Close txtdict_Form1 3)
)
估计应该是单元格没有按钮,请问是用dcl_Grid_SetCellStyle设置风格吗?风格类型选什么?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2013-5-16 12:45:02 | 显示全部楼层
qianzj 发表于 2013-5-16 12:22
获得单元格的文本   我用OnDblClicked可以获得文本
(defun c:txtdict_Form1_格1_OnDblClicked  (Row Col ...

未命名1.jpg
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-6-10 17:40 , Processed in 0.398057 second(s), 51 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表