У меня есть сетка кендо и кнопка «Сохранить» вверху страницы. Когда я нажимаю на панель инструментов «Добавить новую запись», в сетку добавляется новая строка (на стороне клиента). Когда я нажимаю кнопку «Сохранить», я получаю обновленную модель представления в методе действия моего контроллера, который, в свою очередь, добавляет/обновляет данные в базе данных.
Теперь я хочу ограничить добавление строки в сетку, если в сетке уже есть 5 строк, что означает, что пользователь не сможет добавить новую строку, если сетка достигнет своего предела (то есть 5 строк).
Может ли кто-нибудь из вас дать мне пример сценария на стороне клиента (jquery), который будет ограничивать пользователя для добавления новой строки в сетку?
Спасибо большое!!!!!!!
Index.cshtml
@using (Html.BeginForm("Save", "UDF", FormMethod.Post))
{
<input class="button" type="submit" name="save" value="Save"/>
@(Html.Kendo().Grid(Model.List1)
.Name("List1")
.HtmlAttributes(new { style = "width:auto;height:100%" })
.ToolBar(toolbar => toolbar.Create().Text("Add New Record"))
.Editable(editable => editable.Mode(GridEditMode.InCell).CreateAt(GridInsertRowPosition.Top))
.Columns(columns =>
{
columns.Bound(p => p.Title)
.ClientTemplate("#= Title #" +
"<input type='hidden' name='DateFields[#= index(data)#].Title' value='#= Title #' />")
.Title("Title").HtmlAttributes(new { style = "width:30%" });
columns.Bound(p => p.MaxPrecision).Title("Decimal Places")
.ClientTemplate("#= MaxPrecision #" +
"<input type='hidden' name='DateFields[#= index(data)#].MaxPrecision' value='#= MaxPrecision #' />");
columns.Bound(p => p.IsObsolete).Title("Obsolete")
.ClientTemplate("#= IsObsolete #" +
"<input type='hidden' name='DateFields[#= index(data)#].IsObsolete' value='#= IsObsolete #' />");
})
.DataSource(datasource => datasource
.Ajax()
.Model(model =>
{
{
model.Id(p => p.Title);
model.Field(p => p.Title).Editable(true);
model.Field(p => p.MaxPrecision).Editable(true);
model.Field(p => p.IsObsolete).Editable(true);
}
}
)
)
)
}