I am using syncfusion grid in blazor.
Here is my Razor :
<div class="card-outer p-0">
<div class="grid-table">
<EjsGrid DataSource="@ManufacturedCoupons" AllowPaging="true">
<GridPageSettings PageCount="5" PageSize="5"></GridPageSettings>
<GridColumns>
<GridColumn Field=@nameof(Coupon.MaterialIdType) HeaderText="@CommonResource.MaterialID" Width="130" TextAlign="TextAlign.Center"></GridColumn>
<GridColumn Field=@nameof(Coupon.MaterialId) HeaderText="@CommonResource.MaterialID" Width="130" TextAlign="TextAlign.Center"></GridColumn>
<GridColumn Field=@nameof(Coupon.LotNo) HeaderText="@CommonResource.LotNo" Width="100" TextAlign="TextAlign.Center"></GridColumn>
<GridColumn Field=@nameof(Coupon.ArrivalDate) HeaderText="@CommonResource.DeliveryDate" TextAlign="TextAlign.Center" Width="150"></GridColumn>
<GridColumn HeaderText="@CommonResource.Action" TextAlign="TextAlign.Center" Width="120">
<Template>
@{
<div class="actions">
<a href="javascript:void(0);" title="@CommonResource.SendToStock"><img src="images/export.svg" alt="@CommonResource.SendToStock" @onclick="SendToStockClicked()"></a>
</div>
}
</Template>
</GridColumn>
</GridColumns>
</EjsGrid>
</div>
</div>
this is my method in code behind file :
protected void SendToStockClicked(Coupon coupon)
{
}
I want to pass selected row data in this method on action button clicked.
How can I achive that ?
I'm not acquainted with syncfusion... I only know blazor. What I know from Blazor is that if you want to call a method and pass it a value you should use a lambda expression. Let's say that you have in your grid an object named MyCoupon of type Coupon, and you want to pass it to a local method called SendToStockClicked...This is how you call SendToStockClicked:
@onclick="@(() => SendToStockClicked(MyCoupon))"
Incidentally, this "javascript:void(0);"
is JavaScript, and you shouldn't use JavaScript in Blazor...
Hope this helps...
EDIT
You are half right. It indeed help me so I am marking it true but still I have to do some fixes which I am putting it here.
<Template>
@{
var couponData = (context as Coupon);
<div class="actions">
<a href="javascript:void(0);"
title="@CommonResource.SendToStock"
@onclick="(()=> SendToStockClicked(couponData))">
<img src="images/export.svg"
alt="@CommonResource.SendToStock">
</a>
</div>
}
</Template>
Here I have to take couponData to send my custom method object.