BoldSignA modern eSignature application with affordable pricing. Sign up today for unlimited document usage!
<div id='Grid'></div>
<script type="text/javascript">
var json = @Html.Raw(Json.Encode(Model));
$(function () {
var dataManager = ej.DataManager(json);
$('#Grid').ejGrid({
dataSource: dataManager,
allowPaging: true,
columns: [
{ field: 'OrderID', headerText: "BCN" },
{ field: 'EmployeeID', headerText: "Serial No" }
]
});
});
</script> |
var dataManager = ej.DataManager({json: json});
|
Name | Description |
First Name + Last Name | DES: SSE |
EmpId : 0001 |
<script type="text/x-jsrender" id="NameTemplate">
<span>{{: FirstName }} {{: LastName }}</span>
</script>
<script type="text/x-jsrender" id="DescTemplate">
<table>
<tr><td>Desc:</td><td>{{: Title }}</td></tr>
<tr><td>EmpID:</td><td>{{: EmployeeID }}</td></tr>
</table>
</script>
<div id="Grid"></div>
<script type="text/javascript">
$(function () {
$("#Grid").ejGrid({
dataSource: window.employeeView,
allowPaging: true,
pageSettings: { pageSize: 4 },
columns: [
{ headerText: "Name", template: "#NameTemplate" },
{ headerText: "Description", template: "#DescTemplate" }
]
});
});
</script> |
<div id="Grid"></div>
<script type="text/javascript">
$(function () {
var gridData = @Html.Raw(Json.Encode(Model));
var dataManger = ej.DataManager({
url: "/Home/DataSource",
adaptor: new ej.UrlAdaptor()
});
$("#Grid").ejGrid({
dataSource: gridData,
.. .
. . .
childGrid: {
dataSource: dataManger,
allowPaging: true,
pageSettings: {
pageSize: 5
},
queryString: "EmployeeID",
.. .
. ..
},
});
});
</script>
public ActionResult DataSource(Syncfusion.JavaScript.DataManager dm)
{
IEnumerable datasource = new NorthwindDataContext().OrdersViews.ToList();
DataOperations operation = new DataOperations();
if (dm.Where != null)
{
datasource = operation.PerformWhereFilter(datasource, dm.Where, dm.Where[0].Condition);
}
int count = datasource.AsQueryable().Count(); ;
if (dm.Skip >= 0)//for paging
datasource = operation.PerformSkip(datasource, dm.Skip);
if (dm.Take > 0)//for paging
datasource = operation.PerformTake(datasource, dm.Take);
return Json(new { result = datasource, count = count }, JsonRequestBehavior.AllowGet);
} |
public ActionResult DataSource(Syncfusion.JavaScript.DataManager dm)
{
IEnumerable datasource = new NorthwindDataContext().ToList();
return Json(datasource, JsonRequestBehavior.AllowGet);
}
<div id="Grid"></div>
<script type="text/javascript">
$(function () {
var gridData = @Html.Raw(Json.Encode(Model));
var dataManger = ej.DataManager({
url: "/Home/DataSource",
offline: true,
adaptor: new ej.UrlAdaptor()
});
$("#Grid").ejGrid({
dataSource: gridData,
. ..
. .
childGrid: {
dataSource: dataManger,
queryString: "EmployeeID",
. . . .
. . .
},
});
});
</script> |
<div id="Grid"></div>
<script type="text/javascript">
$(function () {
var gridData = @Html.Raw(Json.Encode(Model));
var dataManger = ej.DataManager({
url: "/Home/DataSource",
adaptor: new ej.UrlAdaptor()
});
$("#Grid").ejGrid({
dataSource: gridData,
. . .
. . .
childGrid: {
dataSource: dataManger,
allowPaging: true,
queryString: "EmployeeID",
. . .
},
});
});
</script> |
public JsonResult DataSource(Syncfusion.JavaScript.DataManager dm)
{
IEnumerable datasource = new NorthwindDataContext().OrdersViews.ToList();
DataOperations operation = new DataOperations();
if (dm.Where != null)
{
datasource = operation.PerformWhereFilter(datasource, dm.Where, dm.Where[0].Condition);
}
int count = datasource.AsQueryable().Count(); ;
if (dm.Skip >= 0)//for paging
datasource = operation.PerformSkip(datasource, dm.Skip);
if (dm.Take > 0)//for paging
datasource = operation.PerformTake(datasource, dm.Take);
return Json(new { result = datasource, count = count }, JsonRequestBehavior.AllowGet);
} |
Hi Seeni,
Thanks for Help !
I understand your last reply about the child grid issue. My problem is, How I can send single/multiple values from parent grid to child grid ?
I have already shared the controller and cshtml code. I am not able to change the controller method as you suggested, because my datasource records for child grid depends upon the values which I am sending from parent grid. So please suggest me how I can pass the value from parent grid to child grid, and also how I can get those value in the child grid controller method.
---cshtml :---
<script>
$(function () {
var json = @Html.Raw(Json.Encode(Model));
var dataManager = ej.DataManager(json);
var URL = '@Url.Content("~/")' + 'FATOPoC/ComponentsByAction/';
var componentData = ej.DataManager({url: URL
});
$('#ejItemHistoryDefEcoGrid').ejGrid({
dataSource: dataManager,
childGrid: {
dataSource: componentData,
adaptor: new ej.UrlAdaptor(),
queryString: "Action_Id",
columns: [
{ field: "Issued_Removed",headerText: 'Issue Removed', textAlign: ej.TextAlign.Left,width: 100},
{ field: "Part_Number", headerText: 'Part Number', textAlign: ej.TextAlign.Left,width: 120},
{ field: "Part_Desc", headerText: 'Part Description', textAlign: ej.TextAlign.Left, width: 100 },
{ field: "Manufacturer_PartNumber", headerText: 'Manufacturer Part no', textAlign: ej.TextAlign.Left, width: 100 },
{ field: "Serial_Number", headerText: 'Serial No', textAlign: ej.TextAlign.Left, width: 100 },
{ field: "Location", headerText: 'Location', textAlign: ej.TextAlign.Left, width: 100 }
]
},
columns:
[
{ field: "Action_Id", headerText: 'Action', textAlign: ej.TextAlign.Right, width: 85 },
{template: "#DefectTemplate" , headerText: "Defect/Action Detail"},{ field: 'Defect_Note',headerText: "Defect/ECO Note"},
{template: "#ActionTemplate" , headerText: "Action Detail"},{ field: 'Action_Note',headerText: "Action Note"}
],
allowPaging: true
});
});
</script>
---Controller:----
-----DAL----
static public List<ItemHistoryDefectEcoPartDescModel> GetAllComponentsByAction(Int32 actionId, string username)
{
List<ItemHistoryDefectEcoPartDescModel> ret = new List<ItemHistoryDefectEcoPartDescModel>();
OracleParameter[] myParams = new OracleParameter[3];
try
{
myParams[0] = new OracleParameter("actionId", OracleDbType.Int32, ParameterDirection.Input);
myParams[0].Value = Convert.ToInt32(actionId);
myParams[1] = new OracleParameter("userName", OracleDbType.Varchar2, ParameterDirection.Input);
myParams[1].Value = Convert.ToString(userName);
myParams[2] = new OracleParameter("o_cursor", OracleDbType.RefCursor, ParameterDirection.Output);
DataSet dsReturnData = ODPNETHelper.ExecuteDataset(DBConnectionString, CommandType.StoredProcedure, "ITEMHISTORY_PKG.GetAllComponentsByAction", myParams);
foreach (DataRow row in dsReturnData.Tables[0].Rows)
{
ret.Add(new ItemHistoryDefectEcoPartDescModel()
{
Issued_Removed = row[0].ToString(),
Part_Number = row[1].ToString(),
Part_Desc = row[2].ToString(),
Manufacturer_PartNumber = row[3].ToString(),
Serial_Number = row[4].ToString(),
Location = row[5].ToString()
});
}
}
catch (Exception ex)
{
throw ex;
}
finally
{
myParams = null
}
return ret;
}
Please suggest me according.
Thanks,
Sanjay
Here is the default URL for child grid data : http://localhost:2857/Home/ChildData/?$inlinecount=allpages&$filter=tolower(ID)%20eq%20%271%27
We like to change it to : http://localhost:2857/Home/ChildData/1
Second question, it is possible to pass more than one parameter. Something like this : http://localhost:2857/Home/ChildData/1/One
Our client side script :
var url = '@Url.Content("~/")' + 'Home/MasterData/1';
var dm = ej.DataManager(url);
var url2 = '@Url.Content("~/")' + 'Home/ChildData';
var dm2 = ej.DataManager(url2);
$('#Grid2').ejGrid({
dataSource: dm,
columns: ["ID", "Name", "Value"],
childGrid:
{
dataSource: dm2,
queryString: "ID",
columns: ["ID", "Name", "Value"]
}
});
Our server side code (ASP.NET MVC) is below :
public JsonResult MasterData(int id)
{
List<MasterModel> x = new List<Models.MasterModel>()
{
new Models.MasterModel() { ID = "1", Name = "One", Value=$"One_1_{id}" },
new Models.MasterModel() { ID = "2", Name = "Two", Value=$"Two_2_{id}" },
new Models.MasterModel() { ID = "3", Name = "Two", Value=$"Two_3_{id}" }
};
return new JsonResult() { Data = new { result = x }, JsonRequestBehavior = JsonRequestBehavior.AllowGet };
}
public JsonResult ChildData(string id)
{
List<MasterModel> x = new List<Models.MasterModel>()
{
new Models.MasterModel() { ID = "11", Name = "One_One", Value=$"One_One_1_{id}" },
new Models.MasterModel() { ID = "12", Name = "One_Two", Value=$"One_Two_2_{id}" },
new Models.MasterModel() { ID = "13", Name = "One_Two", Value=$"One_Two_3_{id}" }
};
return new JsonResult() { Data = new { result = x }, JsonRequestBehavior = JsonRequestBehavior.AllowGet };
}
Thanks,
Sanjay
<script type="text/javascript">
$(function () {
var gridData = @Html.Raw(Json.Encode(Model));
var dataManger = ej.DataManager({
url: "/Home/DataSource",
adaptor: new ej.UrlAdaptor()
});
$("#Grid").ejGrid({
dataSource: gridData,
. ..
. .
childGrid: {
dataSource: dataManger,
queryString: "EmployeeID",
. . . .
. . .
},
});
});
</script>
|
Hi Seeni,
Thanks for help!
You have not sent anything about the controller method which I am using. You have suggested me "Syncfusion.JavaScript.DataManager dm" for the child controller method but that didn't worked for me. Is any other method, which I can use to get the value from parent grid ? While I am using javascript.DataManager, I am not able to manage the child controller method because the value I will get from this I will use this to get data from database for child grid bind. Please suggest me accordingly.
Our client side script :
var url = '@Url.Content("~/")' + 'Home/MasterData/1';
var dm = ej.DataManager(url);
var url2 = '@Url.Content("~/")' + 'Home/ChildData';
var dm2 = ej.DataManager(url2);
$('#Grid2').ejGrid({
dataSource: dm,
columns: ["ID", "Name", "Value"],
childGrid:
{
dataSource: dm2,
queryString: "ID",
columns: ["ID", "Name", "Value"]
}
});
Our server side code (ASP.NET MVC) is below :
public JsonResult MasterData(int id)
{
List<MasterModel> x = new List<Models.MasterModel>()
{
new Models.MasterModel() { ID = "1", Name = "One", Value=$"One_1_{id}" },
new Models.MasterModel() { ID = "2", Name = "Two", Value=$"Two_2_{id}" },
new Models.MasterModel() { ID = "3", Name = "Two", Value=$"Two_3_{id}" }
};
return new JsonResult() { Data = new { result = x }, JsonRequestBehavior = JsonRequestBehavior.AllowGet };
}
public JsonResult ChildData(string id)
{
List<MasterModel> x = new List<Models.MasterModel>()
{
new Models.MasterModel() { ID = "11", Name = "One_One", Value=$"One_One_1_{id}" },
new Models.MasterModel() { ID = "12", Name = "One_Two", Value=$"One_Two_2_{id}" },
new Models.MasterModel() { ID = "13", Name = "One_Two", Value=$"One_Two_3_{id}" }
};
return new JsonResult() { Data = new { result = x }, JsonRequestBehavior = JsonRequestBehavior.AllowGet };
}
Thanks,
Sanjay