Jquery 剑道网格拖放列功能不工作
函数GetDataSource(){Jquery 剑道网格拖放列功能不工作,jquery,asp.net-mvc,kendo-ui,kendo-grid,Jquery,Asp.net Mvc,Kendo Ui,Kendo Grid,函数GetDataSource(){ //PrjKy、PrcsDetKy、PrcsTypKy、aprprtky、aprstky、orginardky、AprUsrKy、NxtActByAdrKy、FrmNxtActDt、ToNxtActDt、FrmInsertDt、ToInsertDt var PrjKy=$(“#cmbPrjNm”).val(); 如果(PrjKy==“”){PrjKy=1;} var PrcsDetKy=1; 如果(PrcsDetKy==“”){PrcsDetKy=1;} v
//PrjKy、PrcsDetKy、PrcsTypKy、aprprtky、aprstky、orginardky、AprUsrKy、NxtActByAdrKy、FrmNxtActDt、ToNxtActDt、FrmInsertDt、ToInsertDt
var PrjKy=$(“#cmbPrjNm”).val();
如果(PrjKy==“”){PrjKy=1;}
var PrcsDetKy=1;
如果(PrcsDetKy==“”){PrcsDetKy=1;}
var PrcsTypKy=1;
如果(PrcsTypKy==“”){PrcsTypKy=1;}
var AprPrtyKy=1;
如果(AprPrtyKy==“”){AprPrtyKy=1;}
var AprStsKy=1;
如果(AprStsKy==“”){AprStsKy=1;}
var Orginardky=1;
如果(orginardky==“”){orginardky=1;}
var AprUsrKy=1;
如果(AprUsrKy==“”){AprUsrKy=1;}
var NxtActByAdrKy=$(“#cmbeemployee”).val();
如果(NXTATCBYADRKY==“”){NXTATCBYADRKY=1;}
var FrmNxtActDt=$(“#rcdDt”).val();
var ToNxtActDt=$(“#toDt”).val();
var FrmInsertDt=“”;
var ToInsertDt=“”;
var dataSource=new kendo.data.dataSource({
运输:{
阅读:{
url:“@url.Content(“~/User/GetAllToDo”),
数据:{
“PrjKy”:PrjKy,
“PrcsDetKy”:PrcsDetKy,
“PrcsTypKy”:PrcsTypKy,
“AprPrtyKy”:AprPrtyKy,
“AprStsKy”:AprStsKy,
“Orginardky”:Orginardky,
“AprUsrKy”:AprUsrKy,
“NXTATCBYADRKY”:NXTATCBYADRKY,
“FrmNxtActDt”:FrmNxtActDt,
“ToNxtActDt”:ToNxtActDt,
“FrmInsertDt”:FrmInsertDt,
“ToInsertDt”:ToInsertDt
},
数据类型:“json”
},
更新:{
url:“@url.Content(“~/User/UpdateToDo”),
类型:“POST”,
成功:功能(数据、状态、xhr){
警惕(“成功”);
},
错误:函数(xhr、状态、错误){
警报(“错误”);
}
},
创建:{
url:“@url.Content(“~/User/InsertToDo”),
类型:“POST”,
成功:功能(数据、状态、xhr){
警惕(“成功”);
},
错误:函数(xhr、状态、错误){
警报(“错误”);
}
},
销毁:{
url:“@url.Content(“~/User/DeleteToDo”),
类型:“职位”
}
},
页面大小:10
,架构:
{
型号:
{
id:“PrcsDetKy”,//唯一标识行的主键。
网格的fields://Relavent字段应与以下模型项绑定
{
ID:{可编辑:true,可空:false},
AprDtm:{editable:true,nullable:false,validation:{required:true},
AprPrty:{editable:true,nullable:false,validation:{required:true}},
AprUsr:{editable:true,nullable:true},
AprSts:{editable:true,nullable:true},
AprStsKy:{可编辑:真,可空:真},
AprPrtyKy:{可编辑:真,可空:真},
AprUsrKy:{editable:true,nullable:true},
AprResnKy:{editable:true,nullable:true},
PrjId:{editable:true,nullable:true},
TaskId:{editable:true,nullable:true},
TaskNm:{editable:true,nullable:false,validation:{required:true}},
PRCSTETKY:{可编辑:false,可空:false},
TaskTyp:{editable:true,nullable:false,validation:{required:true}},
PrcsTypKy:{editable:true,nullable:true},
PrjKy:{editable:true,nullable:true},
PrcsDetAprKy:{可编辑:真,可空:真},
PrjNm:{editable:true,nullable:false,validation:{required:true}},
Des:{editable:true,nullable:false,validation:{required:true},
NxtActByAdr:{可编辑:真,可空:假,验证:{必需:真}},
NxtActByAdrKy:{可编辑:真,可空:真},
NXTATCDT:{可编辑:真,可空:真},
Rem:{editable:true,nullable:true,键入:“string”},
OriginBy:{editable:false,nullable:true},
超链接1:{可编辑:false,可空:true},
Hyperlinks2:{可编辑:false,可空:true},
Hyperlinks3:{可编辑:false,可空:true},
超链接4:{可编辑:false,可空:true},
OrginAdrKy:{可编辑:真,可空:真},
WrkStnKy:{可编辑:真,可空:真},
ObjKy:{editable:true,nullable:true},
ObjCd:{editable:true,nullable:true},
ObjNm:{editable:true,nullable:true},
ItmKy:{editable:true,nullable:true},
ItmCd:{可编辑:真,可空:真},
IsAct:{editable:true,nullable:true},
IsApr:{可编辑:真,可空:真}
}
}
}
});
返回数据源;
}
函数LoadGridView(){
var dataSource=GetDataSource();
$(“#网格”).kendoGrid({
数据源:数据源,
可编辑:“内联”,
可选:“行”,
工具栏:[“创建”],
自动绑定:是的,
可重定额:对,
可分页:{
刷新:是的,
页面大小:[5,10,20,50,100]
},
可排序:{
模式:“多个”
},
排序:{字段:“PrjNm”,目录:“asc”},
可分组:{
信息:{
空:“在此处放置列”
}
},
列菜单:{
可排序:
//PrjKy, PrcsDetKy, PrcsTypKy, AprPrtyKy, AprStsKy, OrginAdrKy, AprUsrKy, NxtActByAdrKy, FrmNxtActDt, ToNxtActDt, FrmInsertDt, ToInsertDt
var PrjKy = $("#cmbPrjNm").val();
if (PrjKy == "") { PrjKy = 1; }
var PrcsDetKy = 1;
if (PrcsDetKy == "") { PrcsDetKy = 1; }
var PrcsTypKy = 1;
if (PrcsTypKy == "") { PrcsTypKy = 1; }
var AprPrtyKy = 1;
if (AprPrtyKy == "") { AprPrtyKy = 1; }
var AprStsKy = 1;
if (AprStsKy == "") { AprStsKy = 1; }
var OrginAdrKy = 1;
if (OrginAdrKy == "") { OrginAdrKy = 1; }
var AprUsrKy = 1;
if (AprUsrKy == "") { AprUsrKy = 1; }
var NxtActByAdrKy = $("#cmbEmployee").val();
if (NxtActByAdrKy == "") { NxtActByAdrKy = 1; }
var FrmNxtActDt = $("#rcdDt").val();
var ToNxtActDt = $("#toDt").val();
var FrmInsertDt = "";
var ToInsertDt = "";
var dataSource = new kendo.data.DataSource({
transport: {
read: {
url: '@Url.Content("~/User/GetAllToDo")',
data: {
'PrjKy': PrjKy,
'PrcsDetKy': PrcsDetKy,
'PrcsTypKy': PrcsTypKy,
'AprPrtyKy': AprPrtyKy,
'AprStsKy': AprStsKy,
'OrginAdrKy': OrginAdrKy,
'AprUsrKy': AprUsrKy,
'NxtActByAdrKy': NxtActByAdrKy,
'FrmNxtActDt': FrmNxtActDt,
'ToNxtActDt': ToNxtActDt,
'FrmInsertDt': FrmInsertDt,
'ToInsertDt': ToInsertDt
},
dataType: "json"
},
update: {
url: '@Url.Content("~/User/UpdateToDo")',
type: "POST",
success: function (data, status, xhr) {
alert("success");
},
error: function (xhr, status, error) {
alert("error");
}
},
create: {
url: '@Url.Content("~/User/InsertToDo")',
type: "POST",
success: function (data, status, xhr) {
alert("success");
},
error: function (xhr, status, error) {
alert("error");
}
},
destroy: {
url: '@Url.Content("~/User/DeleteToDo")',
type: "POST"
}
},
pageSize: 10
, schema:
{
model:
{
id: "PrcsDetKy", //Primary key to uniquely identify the row.
fields: //Relavent fields of the grid should be bind with following model items
{
ID: { editable: true, nullable: false },
AprDtm: { editable: true, nullable: false, validation: { required: true} },
AprPrty: { editable: true, nullable: false, validation: { required: true} },
AprUsr: { editable: true, nullable: true },
AprSts: { editable: true, nullable: true },
AprStsKy: { editable: true, nullable: true },
AprPrtyKy: { editable: true, nullable: true },
AprUsrKy: { editable: true, nullable: true },
AprResnKy: { editable: true, nullable: true },
PrjId: { editable: true, nullable: true },
TaskId: { editable: true, nullable: true },
TaskNm: { editable: true, nullable: false, validation: { required: true} },
PrcsDetKy: { editable: false, nullable: false },
TaskTyp: { editable: true, nullable: false, validation: { required: true} },
PrcsTypKy: { editable: true, nullable: true },
PrjKy: { editable: true, nullable: true },
PrcsDetAprKy: { editable: true, nullable: true },
PrjNm: { editable: true, nullable: false, validation: { required: true} },
Des: { editable: true, nullable: false, validation: { required: true} },
NxtActByAdr: { editable: true, nullable: false, validation: { required: true} },
NxtActByAdrKy: { editable: true, nullable: true },
NxtActDt: { editable: true, nullable: true },
Rem: { editable: true, nullable: true, type: "string" },
OriginBy: { editable: false, nullable: true },
Hyperlinks1: { editable: false, nullable: true },
Hyperlinks2: { editable: false, nullable: true },
Hyperlinks3: { editable: false, nullable: true },
Hyperlinks4: { editable: false, nullable: true },
OrginAdrKy: { editable: true, nullable: true },
WrkStnKy: { editable: true, nullable: true },
ObjKy: { editable: true, nullable: true },
ObjCd: { editable: true, nullable: true },
ObjNm: { editable: true, nullable: true },
ItmKy: { editable: true, nullable: true },
ItmCd: { editable: true, nullable: true },
IsAct: { editable: true, nullable: true },
IsApr: { editable: true, nullable: true }
}
}
}
});
return dataSource;
}
function LoadGridView() {
var dataSource = GetDataSource();
$("#grid").kendoGrid({
dataSource: dataSource,
editable: "inline",
selectable: "row",
toolbar: ["create"],
autobind: true,
reorderable: true,
pageable: {
refresh: true,
pageSizes: [5, 10, 20, 50, 100]
},
sortable: {
mode: "multiple"
},
sort: { field: "PrjNm", dir: "asc" },
groupable: {
messages: {
empty: "Drop columns here"
}
},
columnMenu: {
sortable: true,
filterable: true,
messages: {
columns: "Hide/Show Columns",
filter: "Apply filter",
sortAscending: "Sort (asc)",
sortDescending: "Sort (desc)"
}
},
resizable: true,
dataBinding: function () {
record = (this.dataSource.page() - 1) * this.dataSource.pageSize();
},
filterable: {
messages: {
and: "And",
or: "Or",
filter: "Apply filter",
clear: "Clear filter",
info: "Filter by"
},
extra: true, // show extra filters
operators: { // redefine the string operators
string: {
contains: "Contains",
doesnotcontain: "Doesn't contain",
startswith: "Starts With",
endswith: "Ends"
},
number: {
eq: "Is Equal To",
neq: "Not equal to",
gte: "Greater than or equal to",
lte: "Less than or equal to",
gt: "Greater than",
lt: "Less than"
}
}
},
navigatable: true,
columns: [
{ field: "ID", title: "Ref#", template: "#= ++record #", width: "50px" },
{
field: "AprDtm",
title: "Record Date",
editor: function (container, options) {
var model = options.model;
$('<input id="DtTxt" name="' + options.field + '" data-value-field="' + options.field + '" data-bind="value:' + options.field + '" data-format="' + options.format + '"/>').appendTo(container).kendoDatePicker({
change: function (e) {
model.set("AprDtm", e.sender._oldText);
}
});
},
format: "{0: MM-dd-yyyy}"
},
{
field: "PrjNm",
title: "Project",
width: "150px",
editor: function (container, options) {
var model = options.model;
$('<input id="btntxt" name="' + options.field + '"/>').appendTo(container).kendoComboBox({
dataSource: {
type: "POST",
transport: {
read: '@Url.Content("~/User/GetProjectList")'
}
},
change: function (e) {
combo = e.sender;
selectedItm = combo.select();
dataItem = combo.dataItem(selectedItm);
model.set("PrjKy", dataItem.PrjKy);
model.set("PrjNm", dataItem.PrjNm);
},
dataValueField: "PrjKy",
dataTextField: "PrjNm"
});
}
},
{ field: "TaskNm", title: "Task Name", width: "150px" },
{
field: "Des",
title: "Description"
},
{
field: "TaskTyp",
title: "ToDo Type",
width: "110px",
editor: function (container, options) {
var model = options.model;
$('<input id="cmbPrsTyp" name="' + options.field + '"/>').appendTo(container).kendoComboBox
({
dataSource: {
type: "POST",
transport: {
read: '@Url.Content("~/User/GetProjectTypeList")'
}
},
change: function (e) {
combo = e.sender;
selectedItm = combo.select();
dataItem = combo.dataItem(selectedItm);
model.set("PrcsTypKy", dataItem.CdKy);
model.set("TaskTyp", dataItem.CdNm); // Once this model updated it will aper in the grid column too
return false;
},
dataValueField: "CdKy",
dataTextField: "CdNm"
});
}
},
{
field: "AprPrty",
title: "Piority",
width: "100px",
editor: function (container, options) {
var model = options.model;
$('<input id="cmbPrsTyp" name="' + options.field + '"/>').appendTo(container).kendoComboBox
({
dataSource: {
type: "POST",
transport: {
read: '@Url.Content("~/User/GetPiorityList")'
}
},
change: function (e) {
combo = e.sender;
selectedItm = combo.select();
dataItem = combo.dataItem(selectedItm);
model.set("AprPrty", dataItem.CdNm);
model.set("AprPrtyKy", dataItem.CdKy);
return false;
},
dataValueField: "CdKy", //value member of the combobox Eg: 8645
dataTextField: "CdNm"//display member of the combobox Eg: Hight
});
}
},
{
field: "NxtActByAdr",
title: "Act By",
editor: function (container, options) {
var model = options.model;
$('<input id="usr" name="' + options.field + '"/>').appendTo(container).kendoComboBox
({
dataSource: {
type: "POST",
transport: {
read: '@Url.Content("~/User/GetEmployeeList")'
}
},
change: function (e) {
combo = e.sender;
selectedItm = combo.select();
dataItem = combo.dataItem(selectedItm);
model.set("NxtActByAdr", dataItem.AdrNm);
model.set("NxtActByAdrKy", dataItem.AdrKy);
return false;
},
dataValueField: "AdrKy",
dataTextField: "AdrNm"
});
},
width: "150px"
},
{
field: "NxtActDt",
title: "Next Act Date",
editor: function (container, options) {
var model = options.model;
$('<input id="NxActDtTxt" name="' + options.field + '"/>').appendTo(container).kendoDatePicker({
change: function (e) {
model.set("NxtActDt", e.sender._oldText);
}
});
},
format: "{0: MM-dd-yyyy}",
width: "110px"
},
{ field: "Rem", title: "Remarks" },
{ command: ["edit", "destroy"], title: "", width: "180px" }
]
});
}
$("#btnLoadGrid").click(function () {
LoadGridView();
});