Да
Чтобы решить эту проблему, вам нужно написать метод расширения для GridBuilder класса.
Поскольку вы хотите добавить столбцы контрольного журнала в конец, вы должны использовать ту же стратегию, что и , найденную в этом решении и в этом решении :
- Запись метода расширения
.AddAuditTrailColumns()
- Определение столбцов таблицы, которые не являются контрольными журналами
- Вызов
.AddAuditTrailColumns()
Это выглядело бы что-то вроде:
public static class Extensions
{
public static GridBuilder<T> AddAuditTrailColumns<T>(this GridBuilder<T> builder) where T: class
{
//add audit trail columns
builder.Columns(columns =>
{
columns.Bound("CreateDate").Filterable(false);
columns.Bound("CreatedBy");
columns.Bound("LastChangeDate");
columns.Bound("LastChangedBy");
columns.Bound("DeleteDate");
columns.Bound("DeletedBy");
});
return builder;
}
}
Вы можете использовать лямбды, если все ваши сетки используют один и тот же базовый класс. В шаблоне:
@(Html.Kendo.Grid<Product>("Grid74")
.BindTo(Model)
.Columns(columns =>
{
columns.Bound(p => p.Name);
columns.Bound(p => p.Description);
})
.AddAuditTrailColumns()
)
Я приветствую ваш инстинкт как можно больше повторного использования. Людям, обслуживающим эти 90 сетей, будет легче работать, и в итоге вы будете выполнять меньше работы. WIN-WIN.