Skip to content

Commit 674840d

Browse files
Merge pull request #4702 from syncfusion-content/998727-row-pinning-dev
Added row pinning to the MVC and Core Platform with code examples
2 parents 3e35971 + 282e50a commit 674840d

File tree

22 files changed

+475
-0
lines changed

22 files changed

+475
-0
lines changed
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
@Html.EJS().Grid("Grid").DataSource((IEnumerable<object>)ViewBag.DataSource).Columns(col =>
2+
{
3+
col.Field("TaskID").HeaderText("Task ID").Width("100").TextAlign(Syncfusion.EJ2.Grids.TextAlign.Right).IsPrimaryKey(true).Add();
4+
col.Field("Title").HeaderText("Title").Width("120").Add();
5+
col.Field("Priority").HeaderText("Priority").Width("120").TextAlign(Syncfusion.EJ2.Grids.TextAlign.Right).Format("N0").Add();
6+
col.Field("Status").HeaderText("Status").Width("150").Add();
7+
col.Field("Assignee").HeaderText("Assignee").Width("150").Add();
8+
}).Height("200px").Render()
9+
10+
<script>
11+
function isRowPinned(data) {
12+
if (data && data.Status === 'Open' && data.Priority === 'Critical') {
13+
return true;
14+
}
15+
return false;
16+
}
17+
</script>
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
public IActionResult Index()
2+
{
3+
ViewBag.DataSource = OrderDetails.GetAllRecords();
4+
return View();
5+
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<ejs-grid id="Grid" dataSource="@(ViewBag.DataSource)" height="200px" isRowPinned="isRowPinned" >
2+
<e-grid-columns>
3+
<e-grid-column field="TaskID" headerText="Task ID" width="100" textAlign="Right" isPrimaryKey="true"></e-grid-column>
4+
<e-grid-column field="Title" headerText="Title" width="120"></e-grid-column>
5+
<e-grid-column field="Priority" headerText="Priority" width="120" textAlign="Right" format="N0"></e-grid-column>
6+
<e-grid-column field="Status" headerText="Status" width="150"></e-grid-column>
7+
<e-grid-column field="Assignee" headerText="Assignee" width="150"></e-grid-column>
8+
</e-grid-columns>
9+
</ejs-grid>
10+
11+
<script>
12+
function isRowPinned(data) {
13+
if (data && data.Status === 'Open' && data.Priority === 'Critical') {
14+
return true;
15+
}
16+
return false;
17+
}
18+
</script>
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
@Html.EJS().Grid("Grid").DataSource((IEnumerable<object>)ViewBag.DataSource).Columns(col =>
2+
{
3+
col.Field("TaskID").HeaderText("Task ID").Width("100").TextAlign(Syncfusion.EJ2.Grids.TextAlign.Right).IsPrimaryKey(true).Add();
4+
col.Field("Title").HeaderText("Title").Width("120").Add();
5+
col.Field("Priority").HeaderText("Priority").Width("120").TextAlign(Syncfusion.EJ2.Grids.TextAlign.Right).Format("N0").Add();
6+
col.Field("Status").HeaderText("Status").Width("150").Add();
7+
col.Field("Assignee").HeaderText("Assignee").Width("150").Add();
8+
}).AllowPaging(true).PageSettings(page => page.PageSize(15)).IsRowPinned("isRowPinned").Height("200px").Render()
9+
10+
<script>
11+
function isRowPinned(data) {
12+
if (data && data.Status === 'Open' && data.Priority === 'Critical') {
13+
return true;
14+
}
15+
return false;
16+
}
17+
</script>
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
public IActionResult Index()
2+
{
3+
ViewBag.DataSource = OrderDetails.GetAllRecords();
4+
return View();
5+
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<ejs-grid id="Grid" dataSource="@(ViewBag.DataSource)" allowPaging="true" pageSettings="@(new Syncfusion.EJ2.Grids.GridPageSettings { PageSize = 15 })" height="200px" isRowPinned="isRowPinned" >
2+
<e-grid-columns>
3+
<e-grid-column field="TaskID" headerText="Task ID" width="100" textAlign="Right" isPrimaryKey="true"></e-grid-column>
4+
<e-grid-column field="Title" headerText="Title" width="120"></e-grid-column>
5+
<e-grid-column field="Priority" headerText="Priority" width="120" textAlign="Right" format="N0"></e-grid-column>
6+
<e-grid-column field="Status" headerText="Status" width="150"></e-grid-column>
7+
<e-grid-column field="Assignee" headerText="Assignee" width="150"></e-grid-column>
8+
</e-grid-columns>
9+
</ejs-grid>
10+
11+
<script>
12+
function isRowPinned(data) {
13+
if (data && data.Status === 'Open' && data.Priority === 'Critical') {
14+
return true;
15+
}
16+
return false;
17+
}
18+
</script>
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
@Html.EJS().Grid("Grid").DataSource((IEnumerable<object>)ViewBag.DataSource).Columns(col =>
2+
{
3+
col.Type('checkbox').Width("50").TextAlign(Syncfusion.EJ2.Grids.TextAlign.Center).Add();
4+
col.Field("TaskID").HeaderText("Task ID").Width("100").TextAlign(Syncfusion.EJ2.Grids.TextAlign.Right).IsPrimaryKey(true).Add();
5+
col.Field("Title").HeaderText("Title").Width("120").Add();
6+
col.Field("Priority").HeaderText("Priority").Width("120").TextAlign(Syncfusion.EJ2.Grids.TextAlign.Right).Format("N0").Add();
7+
col.Field("Status").HeaderText("Status").Width("150").Add();
8+
col.Field("Assignee").HeaderText("Assignee").Width("150").Add();
9+
}).AllowPaging(true).PageSettings(page => page.PageSize(15)).IsRowPinned("isRowPinned").Height("200px").Render()
10+
11+
<script>
12+
function isRowPinned(data) {
13+
if (data && data.Status === 'Open' && data.Priority === 'Critical') {
14+
return true;
15+
}
16+
return false;
17+
}
18+
</script>
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
public IActionResult Index()
2+
{
3+
ViewBag.DataSource = OrderDetails.GetAllRecords();
4+
return View();
5+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
<ejs-grid id="Grid" dataSource="@(ViewBag.DataSource)" allowPaging="true" height="200px" isRowPinned="isRowPinned" pageSettings="@(new Syncfusion.EJ2.Grids.GridPageSettings { PageSize = 15 })">
2+
<e-grid-columns>
3+
<e-grid-column type="checkbox" width="50" textAlign="Center"></e-grid-column>
4+
<e-grid-column field="TaskID" headerText="Task ID" width="100" textAlign="Right" isPrimaryKey="true"></e-grid-column>
5+
<e-grid-column field="Title" headerText="Title" width="120"></e-grid-column>
6+
<e-grid-column field="Priority" headerText="Priority" width="120" textAlign="Right" format="N0"></e-grid-column>
7+
<e-grid-column field="Status" headerText="Status" width="150"></e-grid-column>
8+
<e-grid-column field="Assignee" headerText="Assignee" width="150"></e-grid-column>
9+
</e-grid-columns>
10+
</ejs-grid>
11+
12+
<script>
13+
function isRowPinned(data) {
14+
if (data && data.Status === 'Open' && data.Priority === 'Critical') {
15+
return true;
16+
}
17+
return false;
18+
}
19+
</script>
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
@Html.EJS().Grid("Grid").DataSource((IEnumerable<object>)ViewBag.DataSource).Columns(col =>
2+
{
3+
col.Field("TaskID").HeaderText("Task ID").Width("100").TextAlign(Syncfusion.EJ2.Grids.TextAlign.Right).IsPrimaryKey(true).Add();
4+
col.Field("Title").HeaderText("Title").Width("120").Add();
5+
col.Field("Priority").HeaderText("Priority").Width("120").TextAlign(Syncfusion.EJ2.Grids.TextAlign.Right).Format("N0").Add();
6+
col.Field("Status").HeaderText("Status").Width("150").Add();
7+
col.Field("Assignee").HeaderText("Assignee").Width("150").Add();
8+
}).AllowPaging(true).PageSettings(page => page.PageSize(15)).AllowSorting(true).AllowFiltering(true).FilterSettings(filter => { filter.Type(Syncfusion.EJ2.Grids.FilterType.Menu) }).IsRowPinned("isRowPinned").Height("200px").Render()
9+
10+
<script>
11+
function isRowPinned(data) {
12+
if (data && data.Status === 'Open' && data.Priority === 'Critical') {
13+
return true;
14+
}
15+
return false;
16+
}
17+
</script>

0 commit comments

Comments
 (0)