i'm using upload within my grid. i can able to use the upload in my grid. and also i can attach the files to the upload but my only problem is i need to pass additional parameters to my "save" event which is in controller. that parameters should be "in which line upload selected that line's column value"
i attached my coding here.
please guys help me to figure it out.
Kendo Grid coding////////////*****////////
@(Html.Kendo().Grid<EmployeeSelfService.Models.EvaluationViewModel>()
.Name("DetailGrid")
.Events(e => e.Save("onSave"))
.Columns(columns =>
{
columns.Bound(p => p.RequestDtlNum).Title("Seq No").Width(110).Hidden(true);
columns.Bound(p => p.RequestID).Hidden(true);
columns.Bound(p => p.Company).Hidden(true);
columns.Bound(p => p.CandidateID).Title("Candidate ID").Width(170);
columns.Bound(p => p.CandidateName).Title("Name").Width(170);
columns.Bound(p => p.ResumeStatus).Width(170).Title("Resume Status").EditorTemplateName("ResumeStatusTemplate");
columns.Bound(p => p.InterviewDate).Format("{0:dd/MM/yyyy}").Width(180).Title("Interview Date").EditorTemplateName("DatePickerTemplate");
columns.Bound(p => p.InterviewType).Width(180).Title("Interview Type").EditorTemplateName("InterviewTypeTemplate");
columns.Bound(p => p.InterviewStatus).Width(180).EditorTemplateName("InterviewStatusTemplate");
columns.Bound(p => p.Comments).Width(170);
columns.Bound(p => p.Attachments).EditorTemplateName("EvaluationUploadTemplate").Width(150);
columns.Command(command =>
{
command.Destroy();
}).Title("Action").Width(220);
})
.ToolBar(toolbar =>
{
toolbar.Create();
toolbar.Save();
})
.Editable(editable => editable.Mode(GridEditMode.InCell).CreateAt(GridInsertRowPosition.Bottom))
.Pageable()
.Navigatable()
.Sortable()
.Scrollable()
.Resizable(resize => resize.Columns(true))
.ColumnMenu()
.DataSource(dataSource => dataSource
.Ajax()
.Batch(true)
.PageSize(20)
.ServerOperation(false)
.Events(events =>
{
events.Error("error_handler");
events.Change("onChange");
})
.Model(model =>
{
model.Id(p => p.RequestID);
})
.Read(read => read.Action("Evaluation_Read", "Evaluation").Data(
@<text>
function (e){
var requestID = $('#requestidresult').val();
return{
requestID: requestID
};
}
</text>
))
.Create(create => create.Action("Evaluation_Create", "Evaluation").Data(
@<text>
function (e){
var requestID = $('#requestidresult').val();
return{
requestID: requestID
};
}
</text>
))
.Update(update => update.Action("Evaluation_Update", "Evaluation").Data(
@<text>
function (e){
var requestID = $('#requestidresult').val();
return{
requestID: requestID
};
}
</text>
))
.Destroy(destroy => destroy.Action("Evaluation_Delete", "Evaluation").Data(
@<text>
function (e){
var requestID = $('#requestidresult').val();
return{
requestID: requestID
};
}
</text>
))
)
)
Editor TemplateCoding/***********************/(EvaluationUploadTemplate)
@(Html.Kendo().Upload()
.Name("Attachments")
.Async(a => a
.Save("SaveAttachments", "Evaluation")
.Remove("RemoveAttachments", "Evaluation")
.AutoUpload(false)
.SaveField("uploadfiles")
)
.Validation(validation =>
{
validation.MaxFileSize(3145728);
validation.AllowedExtensions(new string[] { ".gif", ".jpg", ".png", ".doc", ".docx", ".xls", ".xlsx", ".pptx", ".ppt", ".pdf", ".txt" });
})
.Events(events =>
{
events.Select("onSelect");
events.Upload("onUpload", this);
@*events.Upload(@<text>
function(x`) {
e.preventDefault();
var dataItem = this.dataItem($(e.currentTarget).closest("tr"));
if(dataItem.CandidateID != "")
{
e.data = { requestID: dataItem.RequestID, candidateID: dataItem.CandidateID, seqno: RequestDtlNum }
}
}
</text>);*@
events.Remove(@<text>
function(e) {
e.preventDefault();
var dataItem = this.dataItem($(e.currentTarget).closest("tr"));
e.data = { requestID: dataItem.RequestID, candidateID: dataItem.CandidateID, seqno: RequestDtlNum }
}
</text>);
})
)
i need to send column candidateId value to controller in kendo upload event
Thanks in advance