控制器

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Http;
using System.Web.Mvc;
using NXT.Core;
using NXT.Models; using System.Web.Script.Serialization; namespace NXT.Areas.Anm.Controllers
{
public class RemoveController : Controller
{
public ActionResult Index()
{
var code = new sys_codeService();
var model = new
{ dataSource = new
{ //penname = code.GetValueTextListByType("MeasureUnit")
// penID = new bas_penService().GetDynamicList(ParamQuery.Instance()
//.Select("bas_pen_id as value,pen_name as text")),
penID = new bas_penService().GetDynamicList(ParamQuery.Instance()
.Select("bas_pen_id as value,pen_name as text")),
//unit = pens.GetModelList(""),
//unit = code.GetValueTextListByType("MeasureUnit")
},
urls = new{
query = "/api/Anm/Remove",
newkey = "/api/Anm/Remove/getnewkey",
edit = "/api/Anm/Remove/edit"
},
resx = new{
noneSelect = "请先选择一条数据!",
editSuccess = "保存成功!",
auditSuccess = "单据已审核!"
},
form = new{
RFID_id = "" ,
remove_reason = "" ,
remove_time = "" ,
penid = "" ,
pen_name = "" ,
removenote = "" ,
bas_pen_id = ""
},
defaultRow = new { },
setting = new{
idField = "remove_id",
postListFields = new string[] { "remove_id" ,"RFID_id" ,"remove_reason" ,"remove_time" ,"penid" ,"pen_name" ,"removenote" }
}
}; return View(model);
}
} public class RemoveApiController : ApiController
{
public dynamic Get(RequestWrapper query)
{
query.LoadSettingXmlString(@"
<settings defaultOrderBy='remove_id'>
<select>*</select>
<from>bus_remove</from>
<where defaultForAll='true' defaultCp='equal' defaultIgnoreEmpty='true' >
<field name='RFID_id' cp='equal'></field>
<field name='remove_reason' cp='equal'></field>
<field name='remove_time' cp='equal'></field>
<field name='penid' cp='equal'></field>
<field name='pen_name' cp='equal'></field>
<field name='removenote' cp='equal'></field>
<field name='remove_id' cp='equal'></field>
</where>
</settings>");
var service = new bus_removeService();
var pQuery = query.ToParamQuery();
var result = service.GetDynamicListWithPaging(pQuery);
return result;
} public string GetNewKey()
{
return new bus_removeService().GetNewKey("remove_id", "maxplus").PadLeft(, ''); ;
} [System.Web.Http.HttpPost]
public void Edit(dynamic data)
{
var listWrapper = RequestWrapper.Instance().LoadSettingXmlString(@"
<settings>
<table>
bus_remove
</table>
<where>
<field name='remove_id' cp='equal'></field>
</where>
</settings>");
var service = new bus_removeService();
var result = service.Edit(null, listWrapper, data);
}
}
}

视图层

@{
ViewBag.Title = "Remove";
Layout = "~/Views/Shared/_Layout.cshtml";
var Cols = new NXT.Models.sys_roleMenuColumnMapService().GetCurrentUserMenuColumns();
} @section scripts{
@*<script src="~/Areas/Mms/ViewModels/mms.com.js"></script>*@
<script src="/Content/js/viewModel/com.viewModel.searchEdit.js"></script>
<script type="text/javascript">
using(['datebox']);
using(['combobox']);
var data = @Html.Raw(Newtonsoft.Json.JsonConvert.SerializeObject(Model));
var viewModel = function(){
com.viewModel.searchEdit.apply(this,arguments);
com.formaterpenID = utils.fnValueToText(data.dataSource.penID);
}
ko.bindingViewModel(new viewModel(data));//new一个viewModel,并把data传进去 </script>
} @Html.RenderToolbar() <div class="container_12" style="position:relative;">
<div class="grid_1 lbl">RFID</div>
<div class="grid_2 val"><input type="text" data-bind="value:form.RFID_id" class="z-txt " /></div>
<div class="grid_1 lbl">变动原因</div>
<div class="grid_2 val"><input type="text" data-bind="value:form.remove_reason" class="z-txt " /></div>
<div class="grid_1 lbl">变动时间</div>
<div class="grid_2 val"><input type="text" data-bind="dateboxValue:form.remove_time" class="z-txt easyui-datebox" /></div> <div class="clear"></div> <div class="grid_1 lbl">圈ID</div>
<div class="grid_2 val"><input type="text" data-bind="value:form.penid" class="z-txt " /></div>
<div class="grid_1 lbl">圈名称</div>
<div class="grid_2 val"><input type="text" data-bind="datasource:dataSource.penID,comboboxValue:form.penID" class="z-txt easyui-combobox" /></div>
<div class="grid_1 lbl">备注</div>
<div class="grid_2 val"><input type="text" data-bind="value:form.removenote" class="z-txt " /></div> <div class="clear"></div> <div class="prefix_9" style="position:absolute;top:5px;height:0;">
<a id="a_search" href="#" class="buttonHuge button-blue" data-bind="click:searchClick" style="margin:0 15px;">查询</a>
<a id="a_reset" href="#" class="buttonHuge button-blue" data-bind="click:clearClick">清空</a>
</div>
</div> <table data-bind="datagrid:grid" style="display:none">
<thead>
<tr>
<th field="remove_id" hidden="true" sortable="true" align="left" width="80" editor="text" >remove_id</th>
<th field="RFID_id" sortable="true" align="left" width="80" editor="text" >RFID</th>
<th field="remove_reason" sortable="true" align="left" width="80" editor="{type:'combobox',options:{}}" >变动原因</th>
<th field="remove_time" sortable="true" align="left" width="80" editor="datebox" formatter="com.formatDate">变动时间</th>
<th field="pen_name" sortable="true" align="left" width="80">圈ID</th>
<th field="penid" sortable="true" align="left" width="80" editor="{type:'combobox',options:{data:data.dataSource.penID}}" formatter="com.formaterpenID">圈名称</th>
<th field="removenote" sortable="true" align="left" width="180" editor="text" >备注</th>
</tr>
</thead>
</table>

关联数据和formatter问题-easyui+微型持久化工具的更多相关文章

  1. EF里单个实体的增查改删以及主从表关联数据的各种增删 改查

    本文目录 EF对单个实体的增查改删 增加单个实体 查询单个实体 修改单个实体 删除单个实体 EF里主从表关联数据的各种增删改查 增加(增加从表数据.增加主从表数据) 查询(根据主表找从表数据.根据从表 ...

  2. Entity Framework Code First实体关联数据加载

    在项目过程中,两个实体数据之间在往往并非完全独立的,而是存在一定的关联关系,如一对一.一对多及多对多等关联.存在关联关系的实体,经常根据一个实体的实例来查询获取与之关联的另外实体的实例. Entity ...

  3. MagicalRecord 多表关联数据操作

    最近在使用MagicalRecord做数据持久层CoreData的操作库,今天做了一个多表关联数据的操作,整理了一个demo,特此记录一下. 关于如何使用Cocopads 和 MagicalRecor ...

  4. Contoso 大学 - 6 – 更新关联数据

    原文 Contoso 大学 - 6 – 更新关联数据 By Tom Dykstra, Tom Dykstra is a Senior Programming Writer on Microsoft's ...

  5. Contoso 大学 - 5 – 读取关联数据

    原文 Contoso 大学 - 5 – 读取关联数据 By Tom Dykstra, Tom Dykstra is a Senior Programming Writer on Microsoft's ...

  6. MYSQL中delete删除多表数据与删除关联数据

    在mysql中删除数据方法有很多种,最常用的是使用delete来删除记录,下面我来介绍delete删除单条记 录与删除多表关联数据的一些简单实例. 1.delete from t1 where 条件 ...

  7. EF学习笔记(八):更新关联数据

    学习笔记主目录链接:ASP.NET MVC5 及 EF6 学习笔记 - (目录整理) 上一篇链接:EF学习笔记(七):读取关联数据 本篇原文链接:Updating Related Data 本篇主要考 ...

  8. EF学习笔记(七):读取关联数据

    总目录:ASP.NET MVC5 及 EF6 学习笔记 - (目录整理) 本篇参考原文链接:Reading Related Data 本章主要讲述加载显示关联数据: 数据加载分为以下三种 Lazy l ...

  9. 【EF6学习笔记】(七)读取关联数据

    本篇参考原文链接:Reading Related Data 本章主要讲述加载显示关联数据: 数据加载分为以下三种 Lazy loading 这种加载方式在于需要用到这个导航属性数据的时候,才会去数据库 ...

随机推荐

  1. C# 中的"yield"与 "yield break"使用

    yield是C#为了简化遍历操作实现的语法糖,我们知道如果要要某个类型支持遍历就必须要实现系统接口IEnumerable,这个接口后续实现比较繁琐要写一大堆代码才能支持真正的遍历功能.举例说明 usi ...

  2. Java实现二维码技术探讨。

    Java生成二维码方法有三种: 1: 使用SwetakeQRCode在Java项目中生成二维码  http://swetake.com/qr/ 下载地址  或着http://sourceforge.j ...

  3. 分享几款流行的Java框架

    虽然Java一直被唱衰,但是直到现在Java软件开发也坚持霸主地位不动摇,毫无疑问,Java是目前最热门的编程语言之一,下面分享几个个人认为还不错的Java框架,以及各自的优缺点,希望能对大家有帮助. ...

  4. jquery.validate.js 验证框架详解

    项目中遇到这个js框架 jQuery Validate 插件为表单提供了强大的验证功能,让客户端表单验证变得更简单,同时提供了大量的定制选项,满足应用程序各种需求.该插件捆绑了一套有用的验证方法,包括 ...

  5. jQuery国际化插件 jQuery.i18n.properties 【轻量级】

    jQuery.i18n.properties是一款轻量级的jQuery国际化插件,能实现Web前端的国际化. 国际化英文单词为:Internationalization,又称i18n,“i”为单词的第 ...

  6. server2008服务器IIS7 +PHP5.3出现500错误的排错方法

    Windows7 IIS 500 – 内部服务器错误解决方案 1.解决方法:打开IIS,在全局功能视图中找到“错误页”,双击进去后,看最右边的“操作”下的“编辑功能设置…”,将“错误响应”下的“详细错 ...

  7. C语言 文件操作

    /** *@author cody *@date 2014-08-09 *@description copy text file * FILE *fopen(filename,openmode) * ...

  8. overflow知多少

    本文地址: http://www.hicss.net/some-overflow-knowledge/ 最近在研究OOCSS,当打开template.css阅读第一行时,震惊了,第一眼居然没看懂... ...

  9. Maven实战(一)搭建Nexus伺服器

    在搭建伺服器之前我们先要说明一下为什么要搭建伺服器以及伺服器的作用是什么.在进行分布式开发中maven工具的使用可以极大的提高我们管理项目颗粒的效率,既然是管理颗粒那总得有地方存放才行,而伺服器扮演的 ...

  10. HDU 5303 Delicious Apples(思维题)

    Delicious Apples Time Limit: 5000/3000 MS (Java/Others)    Memory Limit: 524288/524288 K (Java/Other ...