i am getting the error when i use @html.kendo()
it showing are you missing any directives
>please suggest any solution
Hello,
My web application has a grid and in each line there is an edit button that opens a popup with a registration form as shown in the image.
1. I would like to configure the prev and next buttons to cycle through the database records
I saw an example exactly how I wanted it to be but I couldn't implement it
https://dojo.telerik.com/EBepu
Grid:
@(Html.Kendo().Grid<SgmWebEsocial.Models.FuncionarioViewModel>()
.Name("Funcionarios")
.Columns(columns =>
{
columns.Bound(p => p.PessoaFisica_FotoPessoa)..Width(70).Filterable(false).Sortable(false);
columns.Bound(p => p.Pessoa_Nome).Width(200).Title("Nome");
columns.Bound(p => p.MatriculaFuncionario).Width(80).Title("Matrícula");
columns.ForeignKey(c => c.IdNivelCargo, (System.Collections.IEnumerable)ViewData["nomeCargo"], "IdNivelCargo", "NomeCargo").Title("Cargo").Width(120);
columns.ForeignKey(c => c.TipoSituacaoFuncionario, (System.Collections.IEnumerable)ViewData["tipoSituacaoFuncionario"], "IdTipoSituacaoFuncionario", "NomeTipoSituacaoFuncionario").Title("Situação").Width(90);
columns.ForeignKey(p => p.IndicativoTipoEnvioEsocial, (System.Collections.IEnumerable)ViewData["envioEsocial"], "IdTipoEnvioEsocial", "NomeTipoEnvioEsocial").Title("Esocial").Width(80);
columns.Command(command => { command.Edit(); command.Destroy(); }).Width(150);
columns.Bound(p => p.IdFuncionario).Title("Ação").ClientTemplate("<a onclick=\"showProgress()\" href='" + @Url.Action("ExportEsocial", "Funcionario", new { idFuncionario = "#=IdFuncionario#" }) + "' class='k-button'> Enviar eSocial</a>").Width(70);
})
//.Events(e => e.Edit("onEdit"))
.ToolBar(toolbar => toolbar.Create())
.Editable(editable => editable.Mode(GridEditMode.PopUp).TemplateName("CadFuncionario").Window(w => w.Title("Cadastro de Funcionários").Width(1100)))
.Pageable()
.Sortable()
.Filterable()
.Scrollable(scr => scr.Height(450))
.DataSource(dataSource => dataSource
.Ajax()
.PageSize(6)
.Events(events => events.Error("error_handler"))
.Model(model =>
{
model.Id(p => p.IdFuncionario);
})
.Create(update => update.Action("AdicionaFuncionario", "Funcionario").Data("sendAntiForgery"))
.Read(read => read.Action("ListaFuncionario", "Funcionario"))
.Update(update => update.Action("EditaFuncionario", "Funcionario").Data("sendAntiForgery"))
.Destroy(update => update.Action("RemoveFuncionario", "Funcionario").Data("sendAntiForgery"))
.Sort(sort =>
{
sort.Add(p => p.Pessoa_Nome);
})
)
)
Controller:
//Fill in the form
[KendoGrid]
public virtual JsonResult ListaFuncionario([DataSourceRequest] DataSourceRequest request)
{
var context = new DbSgmContext();
var pessoaFisica = context.PessoasFisicas;
var result = funcionario.ToDataSourceResult(request, u => new FuncionarioViewModel
{
//Data Table Pessoa
Pessoa_Nome = u.Pessoa.Nome,
Pessoa_DDD = u.Pessoa.DDD_Telefone,
Pessoa_DDD_Celular = u.Pessoa.DDD_Celular,
Pessoa_Celular = u.Pessoa.Celular,
Pessoa_Telefone = u.Pessoa.Telefone,
Pessoa_Email = u.Pessoa.Email,
Endereco_Numero = u.Pessoa.NumeroEndereco,
Endereco_Complemento = u.Pessoa.Complemento,
//Data Table PessoaFisica
PessoaFisica_FotoPessoa = pessoaFisica.Single(pf => pf.IdPessoa == u.IdPessoa).FotoPessoa,
PessoaFisica_CPF = pessoaFisica.Single(pf => pf.IdPessoa == u.IdPessoa).CPF,
PessoaFisica_DataNascimento = pessoaFisica.Single(pf => pf.IdPessoa == u.IdPessoa).DataNascimento,
PessoaFisica_NomeSocial = pessoaFisica.Single(pf => pf.IdPessoa == u.IdPessoa).NomeSocial,
PessoaFisica_TipoSexo = pessoaFisica.Single(pf => pf.IdPessoa == u.IdPessoa).TipoSexo,
PessoaFisica_NomePai = pessoaFisica.Single(pf => pf.IdPessoa == u.IdPessoa).NomePai,
PessoaFisica_NomeMae = pessoaFisica.Single(pf => pf.IdPessoa == u.IdPessoa).NomeMae,
PessoaFisica_EstadoCivil = pessoaFisica.Single(pf => pf.IdPessoa == u.IdPessoa).IdTipoEstadoCivil,
PessoaFisica_RacaCor = pessoaFisica.Single(pf => pf.IdPessoa == u.IdPessoa).IdTipoRacaCor,
});
returnthis.Json(result);
}
Hi,
I use the latest Kendo UI MVC with Visual Studio 2019. I would to know if is possible to change the menu orientation with a button click and not with a combobox option ?
Thank you.
Ignacio
I have API hosted on asp net core, through Swagger and Postman it works just fine, but when I try to access it through Jquery Grid of Kendo it only reads data but doesn't add nor delete.
Can you tell me what am I doing wrong here?
[HttpDelete]
public async Task<ActionResult> Delete(Guid id)
{
await _mediator.Send(new DeleteProductCommand.Command { Id = id });
return NoContent();
}
[HttpPost]
[ProducesResponseType(StatusCodes.Status200OK)]
public async Task<ActionResult<ProductResponse>> Create([FromBody] CreateProductCommand command) => await _mediator.Send(command);
<script>
$(document).ready(function () {
var crudServiceBaseUrl = "https://localhost:44393/api",
dataSource = new kendo.data.DataSource({
transport: {
read: {
url: crudServiceBaseUrl + "/Product",
dataType: "json"
},
create: {
url: crudServiceBaseUrl + "/Product/Create",
contentType: "application/json; charset=utf-8",
dataType: "json",
type: "POST"
},
destroy: {
url: crudServiceBaseUrl + "/Product/Delete",
type: "DELETE",
contentType: 'application/json; charset=utf-8',
dataType: 'json'
},
parameterMap: function (options, operation) {
if (operation !== "read" && options) {
return kendo.stringify(options);
}
}
},
batch: true,
pageSize: 20,
schema: {
model: {
id: "id",
fields: {
id: { editable: false, nullable: false },
productName: { type: "string", editable: true },
productSKU: { type: "string", editable: true },
productType: { type: "string", editable: true },
}
}
}
});
$("#grid").kendoGrid({
dataSource: dataSource,
columnMenu: {
filterable: false
},
height: 680,
editable: "inline",
pageable: true,
sortable: true,
navigatable: true,
resizable: true,
reorderable: true,
groupable: true,
filterable: true,
dataBound: onDataBound,
toolbar: ["excel", "pdf", "create", "search", "save", "delete"],
columns: [{
selectable: true,
width: 75,
attributes: {
"class": "checkbox-align",
},
headerAttributes: {
"class": "checkbox-align",
}
}, {
field: "productName",
title: "Product Name",
template: "productName",
width: 300
}, {
field: "productSKU",
title: "productSKU",
width: 105
}, {
field: "productType",
title: "productType",
width: 130,
}, {
field: "id",
title: "id",
width: 105
},
{ command: "destroy", title: "Action", width: 120 }],
});
});
function onDataBound(e) {
} ;
</script>