jcgrid
1.jcgrid实现
<span class="JcGrid" id="MyGrid" listdata="Rds.List.UserList" style="overflow: visible;
width: 100%;" jctype="jcgrid" valstring="Title:主Grid" onaddafter="OnAddAfter();">
<table border="0" width="100%" cellspacing="1" id="Table2">
<tr height="26" align="center">
<td type="indicator" cellvalign="middle" cellalign="center" style="width: 3%;">
</td>
<td name="UserName" style="width: 20%" editor="jcpopup" notallowempty poptype="Url"
valstring='Title:姓名' returnmode="DataList" returnparam="" popparam="" popstyle=""
onpopafter="SetValue()" popurl="">
姓名
</td>
<td name="UserId" hidden>
</td>
<td name="Duty" editor="jcselect" datatype="Enum" enum="Page.Enum.Duty" width="30%"
valstring="Title:现任职务;DataType:String;">
现任职务
</td>
<td name="DutyAfter" editor="jcselect" datatype="Enum" enum="Page.Enum.Duty" width="30%"
valstring="Title:拟任职务;DataType:String;">
拟任职务
</td>
<td type="function" functype="Delete" style="width: 5%;">
删除
</td>
</tr>
</table>
</span>
2.jcgrid数据填充
DataStore ds = new DataStore();
Goodway.Data.DataList dl = new Goodway.Data.DataList(); DbRecord dbrec = new DbRecord(dbAccess, TBNAME, szId);
dfrm = dbrec.ToDataForm("RecData");
dl = DbTool.DataTableToDataList(dbAccess.QueryDataTable("select * from HrSelectionFileObject where Relateid='" + szId + "'")); dl.SetName("UserList");
ds.Add(dl);
3.每一列的用户选择
function OnAddAfter() {
var currentbut = $("#Table2>tbody:last .jcpopup_Button:last");
currentbut.unbind("click").removeAttr('onclick').click(GetUser);
}
function GetUser() {
var url = "/Framework.WebService/HttpHandlers/UserChooser2.aspx?SelectType=User";
var result = window.showModalDialog(url, window, "dialogWidth:800px;dialogHeight:600px;status:yes;resizable:no");
var ids;
var names;
if (result != null && result.length > 0) {
ids = result[0];
names = result[2];
while (ids.indexOf(";") != -1)
ids = ids.replace(";", ",");
while (names.indexOf(";") != -1)
names = names.replace(";", ",");
while (names.indexOf("(") != -1)
names = names.replace("(", "(");
while (names.indexOf(")") != -1)
names = names.replace(")", ")");
}
if (ids.indexOf(",") != -1) {
alert("该处被设置成单项选择!我们将自动截取到您所选择的第一个选择项!")
ids = ids.substring(0, ids.indexOf(","));
names = names.substring(0, names.indexOf(","));
}
$(this).parent().prev().find("input").val(names);
$(this).parent().parent().parent().parent().parent().parent().next().find("input").val(ids);
}
4.点击保存,把数据保存到数据库
function DoSave(){
var df = Co.PageForm.GetDataForm("RecData");
var dl = Co.MyGrid.GetValue();
dl.SetName("MyGrid");
var rtn = Execute.Post("Update", df,dl);
if (rtn.HasError)
rtn.ShowError();
else {
alert("保存成功!");
window.ReturnValue = 12;
window.close();
}
}
后台:
private DataStore Update()
{
DataStore ds = new DataStore();
try
{
DataForm df = this.RequestDs.Forms("RecData");
DbRecord dr = new DbRecord(dbAccess, TBNAME, df.GetValue("Id"));
string FormId = df.GetValue("Id");
string objName = "";
//dr.SetData(df); string strSql = "delete from HrSelectionFileObject where RelateId='" + FormId + "'";
this.dbAccess.ExecSql(strSql); Goodway.Data.DataList dl = this.RequestDs.Lists("MyGrid");
for (int i = ; i < dl.GetItemCount(); i++)
{
DbRecord drsub = new DbRecord(dbAccess, "HrSelectionFileObject");
drsub["RelateId"] = FormId;
drsub["UserID"] = dl.GetItem(i).GetAttr("UserId");
drsub["UserName"] = dl.GetItem(i).GetAttr("UserName");
drsub["Duty"] = dl.GetItem(i).GetAttr("Duty");
drsub["DutyAfter"] = dl.GetItem(i).GetAttr("DutyAfter");
drsub["UserDate"] = DateTime.Now.ToString();
drsub.Update(Guid.NewGuid().ToString());
objName += drsub["UserName"];
} dr["ReviewObject"] = objName;
dr.Update(); ds.Add(DbTool.GetResultParam((int)DbResult.Successful, null, null));
}
catch (DbException dbe)
{
ds.Add(DbTool.GetResultParam((int)DbResult.SqlError, dbe.Message, null));
}
return ds;
}
5.HrSelectionFileObject表对应的表结构

6. 例外一种填充数据方式:比如前端选择某个流程编号,取出数据后在前端填充
jcgrid清除数据
Co["MemberList"].Reset(new DataList());
整体填充
var dlUser = new DataList(di.GetAttr("MembersInfo"));
Co["MyGrid"].SetValue(dlUser);
也可以遍历填充
for (var j = 0; j < dlUser.GetItemCount(); j++) {
var diuser = dlUser.GetItem(j);
Co["MyGrid"].AddRow(
"UserID", diuser.GetAttr("UserID"),
"UserName", diuser.GetAttr("UserName"),
"Sex", diuser.GetAttr("Sex"),
"CardNo", diuser.GetAttr("CardNo"),
"PassportNumber", diuser.GetAttr("PassportNumber"),
"UserDeptID", diuser.GetAttr("UserDeptID"),
"UserDeptName", diuser.GetAttr("UserDeptName"),
"Duty", diuser.GetAttr("Duty"),
"LinkPhone", diuser.GetAttr("LinkPhone"),
"CellPhone", diuser.GetAttr("CellPhone"),
"YearCount", diuser.GetAttr("YearCount"),
"BehaviorSign", BehaviorSign,
"SecureSign", SecureSign,
"Remark", diuser.GetAttr("Remark")
);
document.getElementById("MyGrid_TR" + j + "_UserName").childNodes[0].childNodes[0].childNodes[0].childNodes[0].childNodes[0].value = diuser.GetAttr("UserName");
}
7.取jcgrid数据
Co.MyGrid.GetValue().ToString()
jcgrid的更多相关文章
随机推荐
- R8500 MPv2 版本 刷 Kong编译的 ddwrt 后,使用Entware-ng 安装opkg安装第三方软件
先说R8500吧. 由于Netgear网件的问题导致R8500在去年双11前夕出现了全球范围的Boot Loop的问题,现象为新设备开机一段时间后,路由器进入不停重启的状态,电源灯桔黄色.在和网件工程 ...
- CSA Enterprise Architecture图
https://research.cloudsecurityalliance.org/tci/index.php/explore/
- (3) MySQL分区表使用方法
1. 确认MySQL服务器是否支持分区表 命令: show plugins; 2. MySQL分区表的特点 在逻辑上为一个表,在物理上存储在多个文件中 HASH分区(HASH) HASH分区的特点 根 ...
- java框架篇---struts之文件上传和下载
Struts2文件上传 Struts 2框架提供了内置支持处理文件上传使用基于HTML表单的文件上传.上传一个文件时,它通常会被存储在一个临时目录中,他们应该由Action类进行处理或移动到一个永久的 ...
- InstrumentDriver,对iOS自动化测试说 Yes!
InstrumentDriver 是 Mobile自动化小组最近实现的基于 instrument,针对 iOS 的自动化测试框架,目前支持 java 语言编写测试用例. 研究过iOS自动化测试的同学肯 ...
- centos7中端口及服务对应情况(笔记)
25 postfix服务 111 rpcbind.socket服务
- Java知多少(28)super关键字
super 关键字与 this 类似,this 用来表示当前类的实例,super 用来表示父类. super 可以用在子类中,通过点号(.)来获取父类的成员变量和方法.super 也可以用在子类的子类 ...
- Java如何读取和下载网页?
在Java编程中,如何读取和下载网页? 以下示例显示如何使用net.URL类的URL()构造函数来读取和下载网页. package com.yiibai; import java.io.Buffere ...
- Golang Gin 框架 Route备注
https://www.jianshu.com/p/d4b52187d233 https://blog.csdn.net/weixin_34210740/article/details/8602756 ...
- 10享元模式Flyweight
一.什么是享元模式 Flyweight模式也叫享元模式,是构造型模式之 一,它通过与其他类似对象共享数据来减小内存 占用. 二.享元模式的结构 三.享元模式的角色和职责 抽象享元角色: 所有具体享元类 ...