Articles in this section
Category / Section

How to send current row data to server using template column

1 min read

Problem:

How to pass column data to controller while using template column.

Solution:

While using template column if we want to pass the data to the controller from client side then we have to use “{{:}}” for getting the value from the database field.

MVC:

@(Html.EJ().Grid<SampleDemo.OrdersView>("FlatGrid")
        .Datasource((IEnumerable<object>)ViewBag.datasource)
        .AllowPaging()    /*Paging Enabled*/
        .Columns(col =>
        {
            col.Field("OrderID").HeaderText("Order ID"). IsPrimaryKey(true).TextAlign(System.Web.UI.WebControls.TextAlign.Right).Width(75).Add();
            col.Field("CustomerID").HeaderText("Customer ID").Width(80).Add();
            col.Field("EmployeeID").HeaderText("Employee ID"). TextAlign(System.Web.UI.WebControls.TextAlign.Right).Width(75).Add();
            col.Field("ShipCountry").HeaderText("Ship Country").Width(80).Add();
            col.Field("ShipCity").HeaderText(" ").Template("<a href='Events?orderID={{:OrderID}}&customerID={{:CustomerID}}&&employeeID={{:EmployeeID}}&shipCountry={{:ShipCountry}}'>View PO</a>").Add();
}))
 

 

ASP:

<ej:Grid ID="OrdersGrid" runat="server" AllowPaging="True">
           <Columns>
                <ej:Column Field="OrderID" HeaderText="Order ID" IsPrimaryKey="true" TextAlign="Right" Width="75" />
                <ej:Column Field="CustomerID" HeaderText="Customer ID" Width="80" />
                <ej:Column Field="EmployeeID" HeaderText="Employee ID" TextAlign="Right" Width="75" />
                <ej:Column Field="ShipCountry" HeaderText=" Ship Country " Width="80" />
                <ej:Column HeaderText=" ShipCity" Template="<a href='Events?orderID={{:OrderID}}&customerID={{:CustomerID}}&&employeeID={{:EmployeeID}}&shipCountry={{:ShipCountry}}'>View PO</a>"  Width="110" />
            </Columns>
</ej:Grid>    

Here we have passed the OrderID, CustomerID, EmployeeID and ShipCountry value to the controller side “Events method.

 .CS

public class GridController : Controller
    {
public void Events(int orderID, string customerID,int employeeID,string shipCountry)
        {
         //Code you want to do
         }
 
    }

Note: The controller method parameter value should be same as the passed value from the client side (as marked as Red color values).

Result:

Did you find this information helpful?
Yes
No
Help us improve this page
Please provide feedback or comments
Comments (0)
Please sign in to leave a comment
Access denied
Access denied