zoukankan      html  css  js  c++  java
  • jcgrid

    1.jcgrid实现

    <span class="JcGrid" id="MyGrid" listdata="Rds.List.UserList" style="overflow: visible;
                                             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=" 3%;">
                                                        &nbsp;
                                                    </td>
                                                    <td name="UserName" style=" 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=" 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 = 0; 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()
  • 相关阅读:
    算法之顺序、二分、hash查找
    基本数据结构-顺序表和链表!!!
    Deque的应用案例-回文检查
    基本数据结构-双端队列(Deque)
    队列的应用案例-烫手的山芋
    基本数据结构-队列
    基本数据结构-栈
    python中列表,字典,字符串常用操作
    flask中request请求中各种传参
    HTTP请求向服务器传参方式
  • 原文地址:https://www.cnblogs.com/hpbkin/p/6813787.html
Copyright © 2011-2022 走看看