控制器

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. [ES6] 07. Default Value for function param

    Normally, we can set default value for function param: //Here use "Hello" as default param ...

  2. C# Meta Programming - Let Your Code Generate Code - 利用反射重写自动的ToString()

    我们在写一些Model的时候,经常会重写ToString,为了在控制台中进行打印或者更好的单元测试. 但是,如果Model的字段非常多的时候,如此简单的重复劳动经常会变成一件令人头痛的事情,因为大家 ...

  3. LoadRunner录制:检查点

    LoadRunner怎么request是否执行成功呢?它通过判断服务器返回的HTTP状态码,如果是200 OK,那么VuGen就认为脚本运行通过. 但是很多时候事务执行失败并不一定返回错误的状态码,比 ...

  4. toFixed 不能四舍五入问题

    最近在项目中遇见一个bug,数据在移动端与pc端不一致,金额少了0.01,原因是js在处理0.005的时候直接舍去了千分位,直接上解决方法 Number.prototype.toFixed = fun ...

  5. 微信小程序navigateBack如何带参数

    wx.navigateBack({//返回 delta:1 })   方法如下: 一. var pages = getCurrentPages(); var prevPage = pages[page ...

  6. Linux命令-网络命令:traceroute

    首先需要设置VM里面的linux系统能够上网.菜单项->虚拟机->设置,选择NAT模式 菜单项->编辑->虚拟网络编辑器->VMnet8 NAT模式->NAT设置, ...

  7. 用GDB命令PO(print-object)打印UIView的视图层级

    UIView有一个私有方法: recursiveDescription 这个方法可以显示出当前视图的详细层级,可以在代码中直接调用,也可以在GDB中调用,在GDB中调用时需要借助另一个GDB命令:pr ...

  8. JavaScript中使用JSON,即JS操作JSON总结

    JSON(JavaScript Object Notation 对象标记) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式.同时,JSON是 JavaScript 原生 ...

  9. MS SQL 日常维护管理常用脚本

    --[查看数据库服务器名称] --默认实例查询 SELECT @@SERVERNAME AS SERVERNAME; SELECT SERVERPROPERTY('servername') AS Se ...

  10. jquery.cookie中的操作之与换肤

    jquery.cookie.js的插件,插件的源代码如下: /** * Cookie plugin * * Copyright (c) 2006 Klaus Hartl (stilbuero.de) ...