В моем проекте у меня есть простая сетка данных, настроенная следующим образом на странице бритвы:
<div id="Datagrid" dx-item-alias="itemData">
@(Html.DevExtreme().DataGrid<Batch>().ID("gridContainer")
.Columns(columns =>
{
columns.Add().CellTemplate(
@<text>
@(Html.DevExtreme().Button()
.ID("sendButton")
.Text("Select Batch")
.OnClick("onItemClick")
)
</text>);
columns.AddFor(m => m.Id);
columns.AddFor(m => m.Name).Caption("Name");
})
.DataSource(d => d.Mvc().Controller("Batches").LoadAction("GetAllEntries").Key("BatchId"))
)
</div>
Данные загружаются в сетку данных через созданный мной WebApi. Я опускаю этот код в своем вопросе, так как он ничего не добавляет.
В первом столбце я добавил кнопку для каждой отображаемой строки. Я хочу, чтобы, когда я нажимал на эту кнопку, значение идентификатора ячейки рядом с ней отображалось на экране / консоли / как угодно. Мне просто нужно захватить ценность.
Грубый визуальный пример этого:
| Id | Name
-------|-----|------
button | 1 | John
button | 2 | Chris
Поэтому, когда я нажимаю кнопку рядом с ячейкой, содержащей значение Id, равное 1, я хочу получить это значение и распечатать его на экране или консоли. Когда я нажимаю кнопку рядом со значением id 2, я хочу получить значение «2» и сделать то же самое.
У меня следующий js-код, пытающийся достичь этого:
function onItemClick(e) {
DevExpress.ui.notify("The " + e.component.option("value"));
}
Однако это не работает. Что мне нужно сделать, чтобы получить правильное значение ячейки?