一个设计项调用另一个设计项的(列表界面支持多选)

//详细说明

例如:【方案管理】设计项上有一个【检查】按钮,点击检查按钮时,调出【用户管理】设计项的列表界面 ,选中调出的【用户管理】设计项列表上的多条记录,

关闭【用户管理】列表时,将选中的记录中的username赋值给【方案管理】设计项所对应的实体中的JianChaRenYuan字段中。

前端sencha.cmd【方案管理】设计项列表上【检查】按钮中的js代码

 1 function(button, record, e)
 2 {
 3     debugger; // 中断调试指令,可以手动删除它
 4
 5     var me = this;                          // this 为列表视图控制器
 6     var viewModel = this.getViewModel();    // 获取视图模型
 7     var grid = this.getView();              // 获取到列表视图
 8     var records = grid.getSelectionModel().getSelection();  // 获取到选中的记录数组
 9     var record=records[0];                  // 如果是单选模式则获取到第1条选中的行记录
10
11
12     if (record.get(‘ShiFouGuiDang‘)==true)
13     {
14         Ext.Msg.alert(‘信息框‘,+record.get(‘FangAnMingChen‘)+‘方案已归档不能选择检查人!‘);
15     }
16     if(record.get(‘XiaFaShiJian‘)!=""||null)
17     {
18         Ext.Msg.alert(‘信息框‘,+record.get(‘FangAnMingChen‘)+‘方案已下发不能选择检查人!‘);
19     }
20     if(record.get(‘ShiFouGuiDang‘)==false&&record.get(‘XiaFaShiJian‘)==""||null)
21     {
22
23         var win = Ext.create(‘Ext.window.Window‘, {
24             title: ‘选择‘+record.get(‘FangAnGuanLi‘)+‘的检查人员‘,
25             height: ‘60%‘,
26             width: ‘60%‘,
27             closable: true,
28             hideHeaders: true,
29             layout: ‘fit‘,
30             items: {
31                 xtype: util.getCodeGenerate1ClassName(‘用户管理‘,‘list‘),
32                 title: null,
33                 JianGuanRenYuanID: record.get(‘JianGuanRenYuanID‘),
34                 store:Ext.create(util.getCodeGenerate1ClassName(‘用户管理‘,‘Store‘),{
35                     httpGetRequestExParams: { // 如使用本行代码只要求后台的方法中有参数QueryCondition(默认生成的List()方法中就包含有该参数)即可接收多字段查询条件。建议使用本行代码
36                         QueryCondition: {
37                             JianGuanRenYuanID:{
38                                 Value1: record.get(‘JianGuanRenYuanID‘),
39                                 CompareMode: ‘等于‘   // 查询时的比较方式
40                             }
41                         }
42                     }
43                 })
44             },
45             listeners:{
46                 close:function(ct,eOpts)
47                 {
48                     var records = ct.down(‘grid‘).getSelection();
49                     if(record.length==0)
50                         return;
51                     else
52                     {
53                         var jianGuanRenYuanIDs = [];
54                         var jianGuanRenYuans =[];
55
56                         Ext.Array.each(records, function(record){
57                           jianGuanRenYuanIDs.push(record.get(‘ID‘));
58                             jianGuanRenYuans.push(record.get(‘UserName‘));
59
60                         });
61                         var params = {
62                             JianGuanRenYuans: jianGuanRenYuans,
63                             JianGuanRenYuanIDs:jianGuanRenYuanIDs,
64                             FangAnGuanLiID:record.get("ID")
65                         };
66                         ajax.get(‘/Pc/FangAnZhiXingPublic/XuanZeDuoGeJianGuanRenYuan‘, params).then(function (response, opts) {
67
68                             if (response.Success) {
69                                 grid.getStore().reload();    // 弹出信息框,显示后台返回的成功信息。做为最佳实践,推荐显示后台返回的信息(1、防伪造;2、前端应只做展示少牵涉业务逻辑。)
70                             } else {
71                                 Ext.Msg.alert(‘信息框‘,response.Errors.join(‘请求没有成功‘));  // 弹出信息框,显示后台返回的错误或失败信息
72                             }
73
74                         });
75                     }
76                 }
77             }
78         });
79
80     grid.add(win);
81     win.showBy(grid);
82    }
83 }

后端VS.Controller.cs文件中的方法为

 1         public HyResultBase XuanZeDuoGeJianGuanRenYuan(string[] JianGuanRenYuans, string[] JianGuanRenYuanIDs, Guid FangAnGuanLiID)
 2         {
 3
 4             var r = new HyResultBase();
 5             var fangAnGuanLi = _ioc.Query<FangAnGuanLi>()
 6                 .Where(e => e.ID == FangAnGuanLiID)
 7                 .FirstOrDefault();
 8             var s = "";
 9             var q = "";
10             for (var i = 0; i < JianGuanRenYuanIDs.Length; i++)
11             {
12                 q += JianGuanRenYuanIDs[i] + "、";
13             }
14             for (var j = 0; j < JianGuanRenYuans.Length; j++)
15             {
16                 s += JianGuanRenYuans[j] + "、";
17             }
18             fangAnGuanLi.JianGuanRenYuanID = q;
19             fangAnGuanLi.JianGuanRenYuan = s;
20             fangAnGuanLi.Update().SaveToDB();
21             r.Success = true;
22             return r;
23
24         }

原文地址:https://www.cnblogs.com/jiaowoyaoshu/p/9809716.html

时间: 2024-11-05 15:17:49

一个设计项调用另一个设计项的(列表界面支持多选)的相关文章

android开发中一个activity如何调用另一个xml中的控件

有时候,我们需要在一个Activity中调用另一个xml布局文件,即非本Activity所绑定的xml布局文件中的控件,这时候就不能直接findViewById,不然会报错指向空对象,这时就需要像下面这样做. LayoutInflater factory = LayoutInflater.from(当前类.this); View layout = factory.inflate(R.layout.你要获取的另一个XML, null); TextView textview = (TextView)

Android 一个应用程序调用另一个应用程序

实现行业应用调用我们可以Get到哪些技能? * Activity的singleTask的启动模式 * 界面跳转的基本实现 * 前台Service的基本介绍和实现 * SharedPreference的简单用法 实现行业应用调用的目的 在XHL应用程序中去调用MPos应用程序,借助MPos的一些界面完成特殊的功能. 实现行业应用调用步骤 (1)创建名为XHL的应用程序 (2)创建名为MPos的应用程序 代码讲解 1.创建名为XHL的应用程序的界面 如下是XHL的主界面 public class M

线程问题-一个线程怎么调用另一个线程的结果(2)

1 public class Job1{ 2 public static void main(String[] args){ 3 //ThreadClass t=new ThreadClass(); 4 //RunnableClass r=new RunnableClass(); 5 Sums s=new Sums(); 6 ThreadClass t1=new ThreadClass(s); 7 //Thread t1=new Thread(new ThreadClass(s)); 8 Thr

qt进程编程的使用:一个程序中调用另一个程序

在QT编程中有时候需要调用一个已经写好的程序来处理正在编写的程序中的数据,这个时候就 需要用到进程来调用那个已经写好的程序. 事先编写好一个layout程序: #include<QApplication> #include<QPushButton> #include<QGridLayout> #include<QLabel> #include<QLineEdit> #include<QMainWindow> int main(int

C#Winform基础 一个button按钮调用另外一个button按钮的代码

1.UI 2.通过代码调用 1 using System; 2 using System.Collections.Generic; 3 using System.ComponentModel; 4 using System.Data; 5 using System.Drawing; 6 using System.Linq; 7 using System.Text; 8 using System.Threading.Tasks; 9 using System.Windows.Forms; 10 1

CI框架中一个类中调用另一个类中已经加载对象测试

controller.php 1 <?php 2 class CI_Controller { 3 4 private static $instance; 5 6 public function __construct() 7 { 8 self::$instance =& $this; 9 10 foreach (is_loaded() as $var => $class) 11 { 12 $this->$var =& load_class($class); 13 $obj

Linux下一个简单的日志系统的设计及其C代码实现

1.概述 在大型软件系统中,为了监测软件运行状况及排查软件故障,一般都会要求软件程序在运行的过程中产生日志文件.在日志文件中存放程序流程中的一些重要信息, 包括:变量名称及其值.消息结构定义.函数返回值及其执行情况.脚本执行及调用情况等.通过阅读日志文件,我们能够较快地跟踪程序流程,并发现程序问题. 因此,熟练掌握日志系统的编写方法并快速地阅读日志文件,是对一个软件开发工程师的基本要求. 本文详细地介绍了Linux下一个简单的日志系统的设计方法,并给出了其C代码实现.本文为相关开发项目Linux

一个简单的DELPHI程序注册码设计 .

当你辛辛苦苦用DELPHI做好了一个你认为十分不错的程序,你是否想把它发布出去成为共享软件呢  做为一个共享软件,注册码肯定是少不了的,你可以通过判断程序是否注册来进行功能,时间或一些其它限制.现在就介绍一种简单的注册码制造方法.思路是这样的:程序运行时先检测注册表,如果找到注册项,则表明已经注册,如果没有找到注册项,则提示要求注册. <注册例程>在DELPHI下新建一工程,放置Edit1,Edit2,Label1,Label2,Button1组件.具体代码如下:unit Unit1;inte

设计一个程序能够将某一个目录下面的所有文件名打印出来---File类的使用

,设计一个程序能够将某一个目录下面的所有文件名打印出来 运用到的方法有:返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录:list()           测试此抽象路径名表示的文件是否是一个目录:isDirectory()           返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件:listFiles() package printfilename; import java.io.File; public class PrintFileNam