效果图:

Jtable的子表用法:

_$masterTable.jtable({
title: app.localize('PharmacyInventory'),
openChildAsAccordion: true,
paging: true,
actions: {
listAction: {
method: _masterService.getItems
}
}, fields: {
id: {
key: true,
list: false
},
//...
details: {
title: '',
width: '3%',
sorting: false,
edit: false,
create: false,
display: function (data) {
var master = data.record;
var $span = $('<span></span>');
var $btnView = $('<button class="btn btn-default btn-xs" title="' + app.localize('Details') + '"><i class="fa fa-align-justify"></i></button>')
.appendTo($span)
.click(function () {
$('#MasterTable').jtable('openChildTable',
$btnView.closest('tr'),
{
title: master.medicineName + "(" + master.pinYin + ")",
actions: {
listAction: {
method: _masterService.getSubItems
}
},
fields: {
productionDate:
{
title: app.localize('ProductionDate'),
width: '10%',
display: function (data) {
var $span = $('<span></span>');
$span.append(moment(data.record.productionDate).format('YYYY-MM-DD')+ " &nbsp; ");
return $span;
}
},
period:
{
title: app.localize('Period'),
width: '10%'
},
effectiveDate: {
title: app.localize('EffectiveDate'),
width: '15%',
display: function (data) {
var $span = $('<span></span>');
$span.append('<label class="font-red bold">' + moment(data.record.effectiveDate).format('YYYY-MM-DD') + "</label> &nbsp; ");
return $span;
}
},
batchNo: {
title: app.localize('BatchNo'),
width: '10%',
display: function (data) {
var $span = $('<span></span>');
$span.append(data.record.batchNo + " &nbsp; ");
return $span;
}
},
stockBalance: {
title: app.localize('PharmacyInventory'),
width: '10%',
display: function (data) {
var $span = $('<span></span>');
$span.append('<label class="font-red bold">' + data.record.stockBalance + "</label> &nbsp; ");
return $span;
}
}
}
}, function (data) {
data.childTable.jtable('load', {
sourceId: master.medicineID
});
});
});
return $span;
}
},
medicineName: {
title: app.localize('MedicineName'),
width: '15%',
display: function (data) {
var $span = $('<span></span>');
$span.append(data.record.medicineName + "(" + data.record.pinYin + ")" + " &nbsp; ");
return $span;
}
},
category: {
title: app.localize('Category'),
width: '10%',
display: function (data) {
var $span = $('<span></span>');
$span.append(data.record.categoryText + " &nbsp; ");
return $span;
}
},
dosage: {
title: app.localize('Dosage'),
width: '7%',
display: function (data) {
var $span = $('<span></span>');
$span.append(data.record.dosageText + " &nbsp; ");
return $span;
}
},
spec: {
title: app.localize('Spec'),
width: '7%',
display: function (data) {
var $span = $('<span></span>');
$span.append(data.record.specText + " &nbsp; ");
return $span;
}
},
minPacking: {
title: app.localize('MinPacking'),
width: '7%',
display: function (data) {
var $span = $('<span></span>');
$span.append(data.record.minPackingText + " &nbsp; ");
return $span;
}
},
unit: {
title: app.localize('Unit'),
width: '7%',
display: function (data) {
var $span = $('<span></span>');
$span.append(data.record.unitText + " &nbsp; ");
return $span;
}
},
limitation: {
title: app.localize('Limitation'),
width: '7%',
display: function (data) {
var $span = $('<span></span>');
$span.append(data.record.limitation + " &nbsp; ");
return $span;
}
},
usage: {
title: app.localize('Usage'),
width: '7%',
display: function (data) {
var $span = $('<span></span>');
$span.append(data.record.usageText + " &nbsp; ");
return $span;
}
},
route: {
title: app.localize('Route'),
width: '7%',
display: function (data) {
var $span = $('<span></span>');
$span.append(data.record.routeText + " &nbsp; ");
return $span;
}
},
stockBalance: {
title: app.localize('PharmacyInventory'),
width: '10%',
display: function (data) {
var $span = $('<span></span>');
$span.append('<label class="font-red bold">' + data.record.stockBalance + "</label> &nbsp; ");
return $span;
}
}
}
});

参考链接:http://www.codeproject.com/Articles/277576/AJAX-based-CRUD-tables-using-ASP-NET-MVC-and-jTa

ASP.NET ZERO 学习 JTable的ChildTable用法的更多相关文章

  1. ASP.NET ZERO 学习 JTable的使用子表闭合功能

    双击子表自动判定开闭功能 //CHILD TABLE DEFINITION FOR "PHONE NUMBERS" Phones: { title: '', width: '5%' ...

  2. ASP.NET ZERO 学习 JTable的使用

    View信息: @using Abp.Web.Mvc.Extensions @using MedicalSystem.Authorization @using MedicalSystem.Web.Na ...

  3. ASP.NET MVC学习之Ajax(完结)

    一.前言 通过上面的一番学习,大家一定收获不少.但是总归会有一个结束的时候,但是这个结束也意味着新的开始. 如果你是从事ASP.NET开发,并且也使用了第三方控件,那么一定会觉得ASP.NET开发aj ...

  4. ASP.NET中的ExecuteNonQuery()方法的用法

    下面我将详细讲解在机房收费系统D层中如何对数据库的增加.删除.修改,最后再来总结一下 ExecuteNonQuery(),ExecuteScalar(),ExecuteReader的用法: 一.增.删 ...

  5. ASP.NET Core学习指导

    ASP.NET Core 学习指导 "工欲善其事必先利其器".我们在做事情之前,总应该做好充分的准备,熟悉自己的工具.就像玩游戏有一些最低配置一样,学习一个新的框架,也需要有一些基 ...

  6. ASP.NET Boilerplate 学习 AspNet Core2 浏览器缓存使用 c#基础,单线程,跨线程访问和线程带参数 wpf 禁用启用webbroswer右键菜单 EF Core 2.0使用MsSql/MySql实现DB First和Code First ASP.NET Core部署到Windows IIS QRCode.js:使用 JavaScript 生成

    ASP.NET Boilerplate 学习   1.在http://www.aspnetboilerplate.com/Templates 网站下载ABP模版 2.解压后打开解决方案,解决方案目录: ...

  7. ASP.NET从零开始学习EF的增删改查

           ASP.NET从零开始学习EF的增删改查           最近辞职了,但是离真正的离职还有一段时间,趁着这段空档期,总想着写些东西,想来想去,也不是很明确到底想写个啥,但是闲着也是够 ...

  8. ASP.NET MVC学习之视图篇(2)

    继ASP.NET MVC学习之视图(1)学习 4.HTML辅助器 虽然在ASP.NET MVC中我们已经摆脱了ASP.NET的控件,但是对于页面中需要循环标签的情况依然还是存在,可能很多人认为用for ...

  9. ASP.NET MVC学习之过滤器篇(2)

    下面我们继续之前的ASP.NET MVC学习之过滤器篇(1)进行学习. 3.动作过滤器 顾名思义,这个过滤器就是在动作方法调用前与调用后响应的.我们可以在调用前更改实际调用的动作,也可以在动作调用完成 ...

随机推荐

  1. 【转载】C/C++中#ifdef和#endif的用法

    转于 http://www.cnblogs.com/renyuan/archive/2013/05/22/3092362.html 今天笔试的时候遇到这个问题,整理一下! 一般情况下,源程序中所有的行 ...

  2. maven docker 操作

    1. 使用dokerfile 进行构建 创建dockerfile 2. maven 插件 <plugin> <groupId>com.spotify</groupId&g ...

  3. Python 特殊语法:filter、map、reduce、lambda

    Python内置了一些特殊函数,这些函数很具python特性.可以让代码更加简洁. 可以看例子: 1 filter(function, sequence): str = ['a', 'b','c', ...

  4. yii2整理

    对于yii的研究,还没有那么深刻,之所以在这种情况下写,还是考虑到了后来入门人没有中文资料,而又无可下手的尴尬境地.希望对新手和我自己多一份帮助吧.总结几个自己的经验吧.环境的配置我就不做解释了.这个 ...

  5. OAF_JDBC系列1 - 数据库交互取值方式(案例)

    2014-06-15 Created By BaoXinjian

  6. Bugtags 2016-06-16 更新内容

    增加版本管理功能 随着版本的增多,有些历史的版本不再使用,可将这些版本隐藏起来.操作步骤如下:点击设置 - 版本管理(管理员可见)- 取消勾选需要隐藏的版本即可.隐藏版本后,版本筛选中将不会显示,但不 ...

  7. c# 高效率导出多维表头excel

    [DllImport("User32.dll", CharSet = CharSet.Auto)] public static extern int GetWindowThread ...

  8. Linux进程切换代码分析

    朱宇轲 + 原创作品转载请注明出处 + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 这次我们来分析L ...

  9. invalid END header (bad central directory offset) 异常解决方法

    今天版本升级时,一个ear包在传到aix下,weblogic后启动出现 invalid END header (bad central directory offset) 后来才发下是文件传输中出现了 ...

  10. 洛谷P3374 【模板】树状数组 1

    P3374 [模板]树状数组 1 140通过 232提交 题目提供者HansBug 标签 难度普及/提高- 提交  讨论  题解 最新讨论 题目描述有误 题目描述 如题,已知一个数列,你需要进行下面两 ...