How can I pass the PreEmploymentId of the selected row from the grid to window on button click event of the grid. This may be simple, but I am new and still learning basics.
Script-
<script>
$("[data-button-type='auction']")
.click(function(e) {
myWindow.data("kendoWindow").open();
myWindow.data("kendoWindow").center();
myWindow.data("kendoWindow").top();
});
</script>
Kendo Grid-
<div >
@*Telerik grid*@
@{
Html.Kendo().Grid(Model.LstPreEmploymentWorkflowModellist)
.Name("MyGrid")
.Columns(col =>
{
//on edir button click action name Main in invoked in PreEmploymentWorkflow controller and PreEmploymentId is passed
col.Template(@<text>
@Html.ActionLink("Edit", "Main", "PreEmploymentWorkflow", new {Id = item.PreEmploymentId}, new {@class = "classname"})</text>).Width(30);
col.Bound(o => o.PreEmploymentId).Visible(false).Groupable(false);
col.Bound(o => o.FirstName).Width(30).Groupable(false);
col.Template(@<text>
@Html.ActionLink("OpenFile", "Openfile", "PreEmploymentWorkflow", new {Id = item.PreEmploymentId, uploadfilename = "EEOC Tracking Form"}, new {@class = "classname3"})</text>).Title("EEOC").Width(30);
col.Template(@<text>@(Html.Kendo().Button()
.Name("open" + @item.PreEmploymentId)
.ImageUrl(Url.Content("/images/auction_16.gif")).HtmlAttributes(new {type = "submit", data_button_type = "auction" })
)
</text>).Width(40).Title("Status");
col.Template(@<text>
@Html.ActionLink("Delete", "Delete", "PreEmploymentWorkflow", new {Id = item.PreEmploymentId}, new {@class = "classname2"})</text>).Width(30);
})
//.HtmlAttributes(new { style = "width: 1100px" })
.Sortable()
.Render();
}
Kendo Window-
@{Html.Kendo().Window()
.Name("window")
.Width(500)
.Height(315)
.Animation(true)
.Draggable()
.Visible(false)
.Modal(true)
.Title("Employment Status")
.Actions(actions => actions.Close())
.Content(@<text>
@using (Html.BeginForm("CreateStatus", "PreEmploymentWorkflow", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
<table>
<tr>
<td>
@(Html.Kendo().TextBoxFor(m => m.LstPreEmploymentWorkflowModel.PreEmploymentId))
</td>
<td>
@(Html.Kendo().RadioButtonFor(m => m.LstPreEmploymentWorkflowModel.Status).Value(1).Label("Approved"))
</td>
<td>
@(Html.Kendo().RadioButtonFor(m => m.LstPreEmploymentWorkflowModel.Status).Value(9).Label("Reject"))
</td>
</tr>
<tr>
<td>
<label class="Bold" for="statusattachment">Status Attachment:</label>
</td>
<td><input type="file" name="uploadfilestatus"/></td>
</tr>
<tr>
<td>
<input id="Button1" type="submit" value="Submit"/>
</td>
</tr>
</table>
}
</text>)
.Render();
}
Thanks in advance.
If someone is searching, how to do that
<script>
function editItem(e) {
e.preventDefault();
var dataItem = this.dataItem($(e.currentTarget).closest("tr"));
var pId = dataItem.PreEmploymentId;
var myWin = $("#windowstatus").kendoWindow({
modal: true,
width: "450px",
height: "250px",
resizable: true,
position: {
top: 400,
left: 650
},
title: "PreEmployment Status",
content: {
url: "../StatusWindow", //controller name
data: { customerId: pId } //passing data
}
});
myWin.data("kendoWindow").open();
return false;
}
</script>
<script type="text/x-kendo-template" id="template">
<div id="details-container">
</div>
</script>
In kendo grid,
col.Bound(o => o.PreEmploymentId).Visible(false).Groupable(false);
col.Command(command => command.Custom("Change Status").Click("editItem")).Width("120px");
In StatusWindowController,
public class StatusWindowController : Controller
{
// GET: StatusWindow
public ActionResult Index(int customerId)
{
return View(mixstatus);
}
}
This demo shows exactly this:
http://demos.telerik.com/aspnet-mvc/grid/custom-command
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With