Невозможно использовать CompoBox с встроенным редактированием для сетки Kendo MVCC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Невозможно использовать CompoBox с встроенным редактированием для сетки Kendo MVC

Сообщение Anonymous »

У меня есть базовая сетка, которая использует функцию встроенной редактирования. Моя цель - использовать комбо -поле для обеспечения соблюдения конкретного значения, которое можно сохранить. Тем не менее, я не уверен, что мне не хватает, так как редактирование все еще появляется как текстовое поле вместо комбо -окна, и нет никаких консольных ошибок, чтобы указать какие -либо проблемы. < /P>
Вот cshtml < /p>

Код: Выделить всё

@(Html.Kendo().ComboBox()
.Name("DepartmentComboBox")
.DataTextField("Text")
.DataValueField("Value")
.BindTo(new[]
{
new { Text = "Sales", Value = "Sales" },
new { Text = "Marketing", Value = "Marketing" },
new { Text = "Development", Value = "Development" },
new { Text = "HR", Value = "HR" }
})
.HtmlAttributes(new { style = "width: 100%" }))
@(Html.Kendo().Grid
()
.Name("ProspectSourceGrid")
.Columns(columns =>
{
columns.Bound(p => p.Id).Title("Id").Filterable(false).Visible(false);
columns.Command(command => { command.Edit(); }).Width(200).Title("Change
Status").Width(100);
columns.Bound(p => p.Status).EditorTemplateName("DepartmentComboBox").Title("Status").Width(100).Filterable(false);
columns.Bound(p => p.DaysOnMarket).Title("Days On Market").Width(150).HeaderHtmlAttributes(new { style = "text-align: center; justify-content: center" }).HtmlAttributes(new { style = "text-align: center" }).Filterable(false);
columns.Bound(p => p.USState).Title("State").Width(100).HeaderHtmlAttributes(new { style = "text-align: center; justify-content: center" }).HtmlAttributes(new { style = "text-align: center" }).Filterable(false);
columns.Bound(p => p.FormattedAddress).Title("Address").HeaderHtmlAttributes(new { style = "text-align: center; justify-content: center" }).Filterable(false);

})
.Editable(editable => editable.Mode(GridEditMode.InLine))
.Selectable()
.Pageable(pageable => pageable
.Numeric(true)
.Info(true)
.PreviousNext(true)
.Refresh(false)
.PageSizes(true)
.ButtonCount(50))
.Sortable()
.Selectable(s=> s.Mode(GridSelectionMode.Single))
.Scrollable()
.Filterable(ftb => ftb.Mode(GridFilterMode.Row))
.DataSource(dataSource => dataSource
.Ajax()
.Model(model =>
{
model.Id(p => p.Id);
// Declare a model field and make it readonly
model.Field(p => p.DaysOnMarket).Editable(false);
model.Field(p => p.USState).Editable(false);
model.Field(p => p.FormattedAddress).Editable(false);
})
.Read(read => read.Action("ProspectSourceGridData", "DataSource"))
.Destroy(update => update.Action("OptionGridInline_Destroy", "DataSource"))
.Update(update => update.Action("EditingInline_Update", "Grid"))
.PageSize(15))
.Events(events => events.DataBound("Autocolumnwidth")
)

)

< /code>
Вот модель < /p>
public class ProspectSearchModel
{
public int Id { get; set; }
public int? DaysOnMarket { get; set; }
public string FormattedAddress { get; set; }
public string Status { get; set; }
public string USState { get; set; }
}
< /code>
И вот контроллер < /p>
public ActionResult ProspectSourceGridData([DataSourceRequest] DataSourceRequest dataSourceRequest)
{

IEnumerable
 prospects = GetSampleProspects();

return Json(prospects.ToDataSourceResult(dataSourceRequest), JsonRequestBehavior.AllowGet);
// Returning as a DataSourceResult (using Kendo.Mvc.Extensions)
}

private IEnumerable GetSampleProspects()
{
var prospects = new List();
var random = new Random();

// Sample data for randomization
var states = new[] { "CA", "NY", "TX", "FL", "NV", "WA", "CO", "AZ", "NC", "PA" };
var statuses = new[] { "Active", "Pending", "Sold", "Expired" };

// Generating 30 sample prospect data
for (int i = 0; i < 30;  i++)
{
prospects.Add(new ProspectSearchModel
{
Id = i + 1,
DaysOnMarket = random.Next(1, 301),  // Random days on market between 1 and 300
FormattedAddress = $"123 {random.Next(1, 100)} St, Sample City, {states[random.Next(states.Length)]} {random.Next(10000, 99999)}",
Status = statuses[random.Next(statuses.Length)],
USState = states[random.Next(states.Length)]
});
}

return prospects;  // Returning the list as an IEnumerable
}
< /code>
Вот функция javascript autocolumnwidth < /p>
 function Autocolumnwidth(e) {
//var grid = e.sender;
//for (var i = 0; i < grid.columns.length; i++) {
// grid.autoFitColumn(i);
//}
$("#datagrid .k-grid-content").attr("style", "height: auto");
}
Пример результата


Подробнее здесь: https://stackoverflow.com/questions/794 ... o-mvc-grid
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»