|
KanbanFeatures.cshtml
<div id = "ControlRegion">
@(Html.EJ().Kanban("Kanban") // Initially, not specifying columns and fields
.DataSource((IEnumerable<object>)ViewBag.datasource)
.KeyField("Status")
.ClientSideEvents(eve =>
{
eve.Load("onLoad"); // load event
})
)
</div>
<script>
function onLoad(args) { // Triggered when Kanban was loaded
var kanbanObj = $("#Kanban").data("ejKanban"); // Created Kanban object
$.ajax({ // Ajax post
type: "POST",
data: { id: projectId },
url: "/Kanban/Features",
success: function (result) { // Retrieve columns and fields data
$("#Kanban").ejKanban({ columns: result.columnData }); // When loaded Kanban columns property was added
kanbanObj.element.ejKanban("option", { "fields": { swimlaneKey: result.fieldData[0].SwimlaneKey, primaryKey: result.fieldData[0].PrimaryKey, content: result.fieldData[0].Content } }) // When loaded Kanban, Fields property was added
}
});
}
</script> |
|
KanbanController.cs
public ActionResult Features(int id) // Called when ajax post received
{
var data1 = new NORTHWNDEntities().Columns.ToList(); // Get columns table data
var data2 = new NORTHWNDEntities().Fields.ToList(); // Get fields table data
var result = new { columnData = data1, fieldData = data2 };
return Json(result, JsonRequestBehavior.AllowGet); // Passed result object into client side
} |