zrj_software 发表于 2013-1-29 08:38:04

jQuery EasyUI之datagrid

1.
<table id="mTab" iconcls="icon-edit" singleSelect="true" idField="Item04" title="EasyUI-Grid" \><thead><tr><th field="Item03" width="30" align="center">序号</th><th field="Item04" width="500" editor="text">工作任务</th><th field="Item05" width="100" align="right" formatter="JoinFormatter" editor="{type:'combobox',options:{valueField:'sValue',textField:'name',data:_Join,editable:false}}">协办</th>"<th field="Item06" width="90" align="right" editor="datebox">日期</th><th field="Item07" width="75" formatter="LeaderFormatter" editor="{type:'combobox',options:{valueField:'sValue',textField:'name',data:_Leader,editable:false}}">领导</th>"<th field="Item08" width="60" align="center">报告</th></tr></thead></table> 2.Creat Table-JS
    function CreatTable(t) {      var $t = $('#mTab');      var lastIndex;      $t.datagrid({            width: 900,            height: 320,            fitColumns: false,            nowrap: false,            collapsible: true,            collapsed: false,            frozenColumns: [[                { field: 'ck', checkbox: true }]],            pagination: true,            toolbar: [{                text: '新增',                iconCls: 'icon-add',                handler: function () {                  $t.datagrid('endEdit', lastIndex);                  var CurIndex = $t.datagrid('getRows').length+1;                  $t.datagrid('appendRow', {                        Item03: CurIndex,                        Item04: '',                        Item05: '',                        Item06: '',                        Item07: ''                  });                  lastIndex = $t.datagrid('getRows').length - 1;                  $t.datagrid('selectRow', lastIndex);                  $t.datagrid('beginEdit', lastIndex);                }            }, '-', {                text: '删除',                iconCls: 'icon-remove',                handler: function () {                  if (confirm("确定删除吗?")) {                        var row = $t.datagrid('getSelected');                        if (row) {                            var index = $t.datagrid('getRowIndex', row);                            $t.datagrid('deleteRow', index);                            btnOnDel(_id, t, row.Item03);                        }                  }                  else {                  }                }            }, '-', {                text: '保存草稿',                iconCls: 'icon-save',                handler: function () {                  var rowData = $t.datagrid('getSelected');                  $t.datagrid('acceptChanges');                  btnOnSave(_id, t, rowData);                }            }],            onBeforeLoad: function () {                $(this).datagrid('rejectChanges');            },            onDblClickRow: function (rowIndex) {                if (lastIndex != rowIndex) {                  $t.datagrid('endEdit', lastIndex);                  $t.datagrid('beginEdit', rowIndex);                }                lastIndex = rowIndex;            },            onAfterEdit: function (rowIndex, rowData, changes) {//编辑完触发                btnOnSave(_id, t, rowData);            }      });      var p = $t.datagrid('getPager');//分页      $(p).pagination({            total: 0,            pageList: ,            onBeforeRefresh: function () {            },            onSelectPage: function (pageNumber, pageSize) {//分页触发                GetWorkListByDep(t, _id, pageNumber - 1, pageSize);            }      });    } 
3.Load Data
function GetWorkListByDep(t,id, pageNumber, pageSize) {      var $t = $('#mTab');            Ajax_Work.GetWorkListByDep(id, t, pageNumber, pageSize, GetWorkListByDep_CallBack);      function GetWorkListByDep_CallBack(response) {            EZWaitBox.hide();            var obj = jQuery.parseJSON(response.value);            if (obj.returnValue == 0) {                $t.datagrid('loadData', obj);            }            else {                alert(obj.error);            }      }    } 
4.Save Data
function btnOnSave(id,t,rowData) {      Ajax_Work.UpdatePWokM002(id, t, JSON.stringify(rowData), UpdatePWokM002_Back);      function UpdatePWokM002_Back(ret){      }    } 
5.Delete Data
function btnOnDel(id,t,sno) {      Ajax_Work.DeletedatePWokM002(id, t, sno);    } 
6.DropDownList Binding
var _Leader = [];    function LeaderFormatter(value) {      for (var i = 0; i < _Leader.length; i++) {            if (_Leader.sValue == value) return _Leader.name;      }      return value;    }    var _Join=[];   function JoinFormatter(value) {      for (var i = 0; i < _Join.length; i++) {            if (_Join.sValue == value) return _Join.name;      }      return value;    } 
7.cs
      public static string GetWorkListByDep(string id, string sNode, string pageNumber, string pageSize)//id-计划ID sNode-责任主体      {            try            {                int PageSize = 8;                int nPageIndex = 0;                if (pageNumber != "")                {                  nPageIndex = Lanall.EasyConvert.ToInt32(pageNumber);                }                if (pageSize != "")                {                  PageSize = Lanall.EasyConvert.ToInt32(pageSize);                }                Lanall.Data.AccessQuery query = new Lanall.Data.AccessQuery();                query.maxRecords = PageSize;                query.startRecord = PageSize * nPageIndex;                AjaxPro.JavaScriptArray dataItems = new JavaScriptArray();                string sFilter = " Item01="+Lanall.EasySQL.QuotedString(id)                  + " ANDItem02=" + Lanall.EasySQL.QuotedString(sNode);                sFilter = "";                string sOrder = " Item03";                PWokM002Data data = PWokM002System.GetPWokM002Data(CSContext.Current.User.Comp, sFilter, sOrder, query);                int itotal = query.TotalRecords;                foreach (DataRow row in data.Tables.Rows)                {                  string dTime = "";                  if (row["Item06"].ToString() != "")                  {                        dTime = Convert.ToDateTime(row["Item06"].ToString()).ToString("yyyy-MM-dd");                  }                  string sItem08 = string.Format("<a href=\"javascript:void(0);\" onClick=\"btnItem08('{0}','{1}','{2}')\"> 设置</a>",                        id, sNode, row["Item03"].ToString());                  JavaScriptObject dataItem = new JavaScriptObject();                  dataItem.Add("Item03", new JavaScriptString(row["Item03"].ToString()));                  dataItem.Add("Item04", new JavaScriptString(row["Item04"].ToString()));                  dataItem.Add("Item05", new JavaScriptString(row["Item05_Caption"].ToString()));                  dataItem.Add("Item06", new JavaScriptString(dTime));                  dataItem.Add("Item07", new JavaScriptString(row["Item07_Caption"].ToString()));                  dataItem.Add("Item08", new JavaScriptString(sItem08));                  dataItems.Add(dataItem);                }                if (query.TotalRecords < PageSize)                {                  itotal = PageSize;                  for (int i = data.Tables.Rows.Count; i < PageSize; i++)                  {                        string sItem08 = string.Format("<a href=\"javascript:void(0);\" onClick=\"btnItem08('{0}','{1}','{2}')\"> 设置</a>",                        id, sNode, (i+1).ToString());                        JavaScriptObject dataItem = new JavaScriptObject();                        dataItem.Add("Item03", new JavaScriptNumber(i + 1));                        dataItem.Add("Item04", new JavaScriptString(""));                        dataItem.Add("Item05", new JavaScriptString(""));                        dataItem.Add("Item06", new JavaScriptString(""));                        dataItem.Add("Item07", new JavaScriptString(""));                        dataItem.Add("Item08", new JavaScriptString(sItem08));                        dataItems.Add(dataItem);                  }                }                JavaScriptObject jdataReturn = new JavaScriptObject();                jdataReturn.Add("returnValue", new JavaScriptNumber(0));                jdataReturn.Add("total", new JavaScriptNumber(itotal));                jdataReturn.Add("rows", dataItems);                StringBuilder ss = new StringBuilder();                AjaxPro.JavaScriptSerializer.Serialize(jdataReturn, ss);                return ss.ToString();            }            catch (Exception e)            {                JavaScriptObject jdataReturn = new JavaScriptObject();                jdataReturn.Add("returnValue", new JavaScriptNumber(1));                jdataReturn.Add("error", new JavaScriptString(e.Message));                StringBuilder ss = new StringBuilder();                AjaxPro.JavaScriptSerializer.Serialize(jdataReturn, ss);                return ss.ToString();            }      }            public void UpdatePWokM002(string id, string DepID, string sPostData)      {            string sItem03 = "";            string sItem04 = "";            string sItem05 = "";            string sItem06 = "";            string sItem07 = "";            AjaxPro.JavaScriptObject PostData;            PostData = (AjaxPro.JavaScriptObject)AjaxPro.JavaScriptDeserializer.DeserializeFromJson(sPostData, typeof(AjaxPro.JavaScriptObject));            if (PostData != null)            {                sItem03 = PostData["Item03"].Value.ToString().Replace("\"", "");                sItem04 = PostData["Item04"].Value.ToString().Replace("\"", "");                sItem05 = PostData["Item05"].Value.ToString().Replace("\"", "");                sItem06 = PostData["Item06"].Value.ToString().Replace("\"", "");                sItem07 = PostData["Item07"].Value.ToString().Replace("\"", "");            }            string sFilter = " Item01=" + Lanall.EasySQL.QuotedString(id)                + " AND Item02=" + Lanall.EasySQL.QuotedString(DepID)                + " AND Item03=" + Lanall.EasySQL.QuotedString(sItem03);            PWokM002Data data = PWokM002System.GetPWokM002Data(CSContext.Current.User.Comp, sFilter, "", null);            if (data.Tables.Rows.Count > 0)            {                DataRow row = data.Tables.Rows;                row = sItem04;                row = sItem05;                if (sItem06 != "")                  row = sItem06;                else                  row = System.DBNull.Value;                row = sItem07;                PWokM002System.UpdatePWokM002Data(CSContext.Current.User.Comp,data);            }            else            {                DataRow row = data.Tables.NewRow();                row = CSContext.Current.User.Comp.CompID;                row = id;                row = DepID;                row = sItem03;                row = sItem04;                row = sItem05;                if (sItem06 != "")                  row = sItem06;                else                  row = System.DBNull.Value;                row = sItem07;                data.Tables.Rows.InsertAt(row, 0);                PWokM002System.UpdatePWokM002Data(CSContext.Current.User.Comp, data);            }      }            public void DeletedatePWokM002(string id, string DepID, string sNo)      {            string sFilter = " Item01=" + Lanall.EasySQL.QuotedString(id)                + " AND Item02=" + Lanall.EasySQL.QuotedString(DepID)                + " AND Item03=" + Lanall.EasySQL.QuotedString(sNo);            PWokM002System.DeletePWokM002ByID(CSContext.Current.User.Comp, sFilter);      } 
8.End.
 
页: [1]
查看完整版本: jQuery EasyUI之datagrid