Подсетка в моей сетке.Это работает для меня наполовину, потому что когда я собираюсь редактировать и отменяю издание, он дублирует реестр.
Мне также нужно отредактировать элемент управления, отредактировать всю запись, а не только одну сетку или другую.
Это базовый пример, но это часть проблемы, с которой я столкнулся с JSGrid, и я не могу двигаться вперед.Я просто нахожу документацию по этому делу.
http://jsfiddle.net/rnxuscga/
<script type="text/javascript">
var data = window.dt = [
{
"Name": "param 1",
"Pin": "a pin",
"Conditions": [
{ Name: "condition1", Condition: "123", Typical: "a typical", Unit: "V" },
{ Name: "condition2", Condition: "456", Typical: "a typical", Unit: "V" }
]
}
];
$("#jsGrid").jsGrid({
width: "100%",
height: "400",
inserting: true,
editing: true,
autoload: true,
controller: {
loadData: function () {
return data;
}
},
fields: [
{ name: "Name", type: "text", width: 100 },
{ name: "Pin", type: "text", width: 100 },
{
name: "Conditions", width: 350, itemTemplate: function (value, item) {
var $nestedGrid = $("<div>");
var $nestedGridPPial = $("<div>");
$nestedGrid.click(function (e) {
e.stopPropagation();
});
$nestedGridPPial.jsGrid({
width: 350,
height: "auto",
inserting: false,
editing: true,
data: [item],
fields: [
{ name: "Pin", width: 200 }
],
rowClick: function (args) {
if (this.editing) {
this.editItem($(args.event.target).closest("tr"));
args.event.stopPropagation();
}
}
});
$nestedGrid.jsGrid({
width: 350,
height: "auto",
inserting: false,
editing: true,
data: item.Conditions,
fields: [
{ name: "Name", width: 200 },
{ name: "Typical", width: 100 },
{ name: "Unit" }
],
rowClick: function (args) {
if (this.editing) {
this.editItem($(args.event.target).closest("tr"));
args.event.stopPropagation();
}
}
});
return $nestedGridPPial.append($nestedGrid);
}
},
{ type: "control" }
]
});
</script>
Решение:
<script type="text/javascript">
function prueba(valor) {
//Search for ID...hidden label
//var valor = data.filter(function (perita) {return data[0].Pin == valorA });
var inyect = data.push(data[0].Pin = valor);
//$("#jsGrid").jsGrid("refresh");
return valor;
}
var data = window.dt = [
{
"Name": "param 1",
"Pin": "a pin",
"Conditions": [
{ Name: "condition1", Condition: "123", Typical: "a typical", Unit: "V", Pin: "a pin" },
{ Name: "condition2", Condition: "456", Typical: "a typical", Unit: "V" }
]
}
];
$("#jsGrid").jsGrid({
width: "100%",
height: "400",
inserting: true,
editing: true,
autoload: true,
controller: {
loadData: function () {
return data;
}
},
fields: [
{ name: "Name", type: "text", width: 100 },
{ name: "Pin", type: "text", width: 100 },
{
name: "Conditions", width: 350, itemTemplate: function (value, item) {
var $nestedGrid = $("<div>");
var $nestedGridPPial = $("<td class='jsgrid-cell' style='width: 100px;'><input id='pinwapo' onChange='prueba(this.value);' style='border:0px' type='text' name='" + item.Pin + "' value='" + item.Pin + "'></td>");
//$nestedGridPPial.click(function (e) {
// e.stopPropagation();
//});
$nestedGrid.jsGrid({
width: 350,
height: "auto",
inserting: false,
editing: true,
data: item.Conditions,
fields: [
{ name: "Name", width: 200 },
{ name: "Typical", width: 100 },
{ name: "Unit" }
],
rowClick: function (args) {
if (this.editing) {
this.editItem($(args.event.target).closest("tr"));
args.event.stopPropagation();
}
}
});
return $nestedGridPPial.append($nestedGrid);
}
},
{ type: "control" }
]
});
</script>