propertygrid在其属性面板中加载json对象带函数的属性或者事件

2024-04-29 20:32

本文主要是介绍propertygrid在其属性面板中加载json对象带函数的属性或者事件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

如何在propertygrid的url加载json对象带函数的属性或者事件?

由于propertygrid的url加载json对象时,会将里面的属性或者事件所对应的函数解析成字符串,所以这需要处理该函数字符串为函数或者事件集合。

代码如下:

xxx.json:

{"name":"<span title='method'>请求方式</span>","proname":"method","value":"post","group":"easyui属性",
"editor":{"type":"combobox",
"options":{"data":[{"value":"post","text":"post"},{"value":"get","text":"get"}],
"valueField":"value","textField":"text",
"keyHandler":"{up: function(){},down: function(){},enter: function(){var falg='method';comboboxClass.getInput(this,falg);},query: function(q){}}"
}}},

xxx.js:

//加载属性面板
$('#component_pg').propertygrid({  
url: "components/"+$(this).attr("component_id")+".json",  
scrollbarSize: 0,
showGroup:true,
groupFormatter:function(group,rows){
if(group=="easyui属性"){
for(var i=0;i<rows.length;i++){
if(rows[i].editor.type&&rows[i].editor.type=="combobox"){
if(rows[i].editor.options.keyHandler){
var test=rows[i].editor.options.keyHandler;
var json = eval('(' + test + ')');
rows[i].editor.options.keyHandler=json;
/*var f2=(new Function("return "+test))();
rows[i].editor.options.keyHandler=f2;*/
 }}}return "easyui属性";
}
else if(group=="html属性"){
return "html属性";
}
else if(group=="样式属性"){
return "样式属性";
}
}});  
var comboboxClass = (function(){
return {
getInput:function(obj,falg){
var q=$("span[title='"+falg+"']").parent().parent().next().children().find('input.textbox-text').val();
if(q!=''){
var datas = $(obj).combobox('options').data;
var addcloum={text:q,value:q};
datas.push(addcloum);
$(obj).combobox('loadData',datas);
$(obj).combobox('setValue',q);
}
}
};
}());


最后运行图:



这篇关于propertygrid在其属性面板中加载json对象带函数的属性或者事件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/947085

相关文章

C#借助Spire.XLS for .NET实现在Excel中添加文档属性

《C#借助Spire.XLSfor.NET实现在Excel中添加文档属性》在日常的数据处理和项目管理中,Excel文档扮演着举足轻重的角色,本文将深入探讨如何在C#中借助强大的第三方库Spire.... 目录为什么需要程序化添加Excel文档属性使用Spire.XLS for .NET库实现文档属性管理Sp

pandas使用apply函数给表格同时添加多列

《pandas使用apply函数给表格同时添加多列》本文介绍了利用Pandas的apply函数在DataFrame中同时添加多列,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习... 目录一、Pandas使用apply函数给表格同时添加多列二、应用示例一、Pandas使用apply函

Python中Namespace()函数详解

《Python中Namespace()函数详解》Namespace是argparse模块提供的一个类,用于创建命名空间对象,它允许通过点操作符访问数据,比字典更易读,在深度学习项目中常用于加载配置、命... 目录1. 为什么使用 Namespace?2. Namespace 的本质是什么?3. Namesp

springboot+mybatis一对多查询+懒加载实例

《springboot+mybatis一对多查询+懒加载实例》文章介绍了如何在SpringBoot和MyBatis中实现一对多查询的懒加载,通过配置MyBatis的`fetchType`属性,可以全局... 目录springboot+myBATis一对多查询+懒加载parent相关代码child 相关代码懒

MySQL中如何求平均值常见实例(AVG函数详解)

《MySQL中如何求平均值常见实例(AVG函数详解)》MySQLavg()是一个聚合函数,用于返回各种记录中表达式的平均值,:本文主要介绍MySQL中用AVG函数如何求平均值的相关资料,文中通过代... 目录前言一、基本语法二、示例讲解1. 计算全表平均分2. 计算某门课程的平均分(例如:Math)三、结合

MySQL 中的 JSON_CONTAIN用法示例详解

《MySQL中的JSON_CONTAIN用法示例详解》JSON_CONTAINS函数用于检查一个JSON文档中是否包含另一个JSON文档,这篇文章给大家介绍JSON_CONTAINS的用法、语法、... 目录深入了解 mysql 中的 jsON_CONTAINS1. JSON_CONTAINS 函数的概述2

sqlserver、mysql、oracle、pgsql、sqlite五大关系数据库的对象名称和转义字符

《sqlserver、mysql、oracle、pgsql、sqlite五大关系数据库的对象名称和转义字符》:本文主要介绍sqlserver、mysql、oracle、pgsql、sqlite五大... 目录一、转义符1.1 oracle1.2 sqlserver1.3 PostgreSQL1.4 SQLi

Python函数作用域与闭包举例深度解析

《Python函数作用域与闭包举例深度解析》Python函数的作用域规则和闭包是编程中的关键概念,它们决定了变量的访问和生命周期,:本文主要介绍Python函数作用域与闭包的相关资料,文中通过代码... 目录1. 基础作用域访问示例1:访问全局变量示例2:访问外层函数变量2. 闭包基础示例3:简单闭包示例4

MyBatis延迟加载与多级缓存全解析

《MyBatis延迟加载与多级缓存全解析》文章介绍MyBatis的延迟加载与多级缓存机制,延迟加载按需加载关联数据提升性能,一级缓存会话级默认开启,二级缓存工厂级支持跨会话共享,增删改操作会清空对应缓... 目录MyBATis延迟加载策略一对多示例一对多示例MyBatis框架的缓存一级缓存二级缓存MyBat

JavaScript对象转数组的三种方法实现

《JavaScript对象转数组的三种方法实现》本文介绍了在JavaScript中将对象转换为数组的三种实用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友... 目录方法1:使用Object.keys()和Array.map()方法2:使用Object.entr