|
. . . . . . .
<script type="text/javascript">
var OrganizationObjects = [. . .]
var Objects = [. . . ]
var foreignObj = [
{
dataSource: OrganizationObjects,
field: "ParentID",
foreignKeyField: "ID", //Property in the Grid's main as well as foreignKey dataSource
foreignKeyValue: "Name" //Property in foreignkey dataSource
},
{
dataSource: OrganizationObjects,
field: "ChildID",
foreignKeyField: "ID", //Property in the Grid's main as well as foreignKey dataSource
foreignKeyValue: "Name" //Property in foreignkey dataSource
}];
$(function () {
$("#Grid").ejGrid({
dataSource: Objects,
allowSorting: true,
sortSettings: { sortedColumns: [{ field: "ParentID_Name", direction: "ascending" }] },
load: function (args) {
this.model.dataSource.adaptor = new ej.ForeignKeyAdaptor(foreignObj, "JsonAdaptor"); // bind ForeignKeyAdaptor here
},
columns: [
{ field: "ID", headerText: "ID", textAlign: ej.TextAlign.Left, visible: false, isPrimaryKey: true },
{
field: "ParentID_Name", headerText: "Parent Organization",
headerTemplateID: "#requiredUniqueParentOrganizationTemplate", dataSource: OrganizationObjects,
textAlign: ej.TextAlign.Left, visible: true
},
{
field: "ChildID_Name", headerText: "Child Organization", foreignKeyField: "ID", foreignKeyValue: "Name",
headerTemplateID: "#requiredUniqueChildOrganizationTemplate", dataSource: OrganizationObjects,
textAlign: ej.TextAlign.Left, visible: true
}
],
});
});
</script> |
|
$("#Grid").ejGrid({
actionComplete: function (args) {
if (args.requestType == "refresh" && this.initialRender && this._dataSource() == null) {
this.dataSource(ej.DataManager({
json: ej.parseJSON(Objects),
adaptor: new ej.ForeignKeyAdaptor(foreignObj, "JsonAdaptor")
}));
}
},
columns: [
{
field: "ParentID_Name", headerText: "Parent Organization",
headerTemplateID: "#requiredUniqueParentOrganizationTemplate", dataSource: OrganizationObjects,
textAlign: ej.TextAlign.Left, visible: true,
editTemplate: {
create: "create",
read: "read",
write: "write"
}
},
{
field: "ChildID_Name", headerText: "Child Organization",
headerTemplateID: "#requiredUniqueParentOrganizationTemplate", dataSource: OrganizationObjects,
textAlign: ej.TextAlign.Left, visible: true,
editTemplate: {
create: "create1",
read: "read1",
write: "write1"
}
} ],
});
});
<script>
function create() {
return $("<input>");
}
function write(args) {
var gridObj = $(".e-grid").ejGrid("instance"); // Get grid object
var val = ej.isNullOrUndefined(args.rowdata["ParentID_Name"]) ? "" : args.rowdata["ParentID_Name"];
args.element.ejDropDownList({
dataSource: args.column[1].dataSource,
value: args.rowdata.ParentID_Name,
fields: {text: "Name", value: "ParentID_Name" },
})
}
function read(args) {
return args.ejDropDownList("getSelectedValue"); //return the selected value in dropdown list
}
function create1() {
return $("<input>");
}
function write1(args) {
var gridObj = $(".e-grid").ejGrid("instance"); // Get grid object
var val = ej.isNullOrUndefined(args.rowdata["ChildID_Name"]) ? "" : args.rowdata["ChildID_Name"];
args.element.ejDropDownList({
dataSource: args.column[1].dataSource,
value: args.rowdata.ChildID_Name,
fields: {text: "Name", value: "ChildID_Name" },
})
}
function read1(args) {
return args.ejDropDownList("getSelectedValue"); //return the selected value in dropdown list
}
</script> |
|
<script type="text/javascript">
$(function () {
$("#Grid").ejGrid({
allowReordering: true,
allowMultiSorting: true,
columns: [
{ field: "ID", headerText: "ID", textAlign: ej.TextAlign.Left, visible: false, isPrimaryKey: true },
{
field: "ParentID_Name", headerText: "Parent Organization",
headerTemplateID: "#requiredUniqueParentOrganizationTemplate", dataSource: OrganizationObjects,
textAlign: ej.TextAlign.Left, visible: true,
editTemplate: {
create: "create",
read: "read",
write: "write"
}
},
{
field: "ChildID_Name", headerText: "Child Organization",
headerTemplateID: "#requiredUniqueChildOrganizationTemplate", dataSource: OrganizationObjects,
textAlign: ej.TextAlign.Left, visible: true,
editTemplate: {
create: "create",
read: "read",
write: "write"
}
}
],
});
});
</script>
<script>
function create() {
return $("<input>");
}
function write(args) {
var field = $(args.element)[0].name;
var text = field.split('_')[1];
var gridObj = $(".e-grid").ejGrid("instance"); // Get grid object
var val = ej.isNullOrUndefined(args.rowdata[field]) ? "" : args.rowdata[field];
args.element.ejDropDownList({
dataSource: args.column[1].dataSource,
value: val,
fields: {text: text, value: field },
})
}
function read(args) {
return args.ejDropDownList("getSelectedValue"); //return the selected value in dropdown list
}
</script> |