Ich habe eine voll funktionsfähige GridView
mit DevExpress
mit MVC 5
.MVC 5 DevExpress settings.BeforeExport Ereignis wird nicht ausgelöst
Ich möchte die Möglichkeit hinzufügen, die Daten in verschiedenen Formaten zu exportieren, und ich habe es geschafft, indem Sie einige Online-Beispiele folgen.
Jetzt muss ich einige Spalten beim Exportieren verstecken, und ich habe über die BeforeExport
Eigenschaft gelesen.
Hier ist, was ich getan habe:
var grid = Html.DevExpress().GridView(settings => {
//blah blah stuff
#region Export
settings.Toolbars.Add(t => {
t.EnableAdaptivity = true;
t.Items.Add(GridViewToolbarCommand.ExportToXls);
t.Items.Add(GridViewToolbarCommand.ExportToXlsx);
t.Items.Add(GridViewToolbarCommand.ExportToCsv);
});
settings.SettingsExport.EnableClientSideExportAPI = true;
settings.SettingsExport.ExcelExportMode = DevExpress.Export.ExportType.DataAware;
settings.SettingsExport.RenderBrick = (sender, e) => {
if (e.RowType == GridViewRowType.Data && e.VisibleIndex % 2 == 0)
e.BrickStyle.BackColor = System.Drawing.Color.FromArgb(0xEE, 0xEE, 0xEE);
};
settings.SettingsExport.Landscape = true;
settings.SettingsExport.BeforeExport = (sender, e) => {
MVCxGridView gridView = sender as MVCxGridView;
if (sender == null) return;
gridView.Columns["myColumnFieldNameToHide"].Visible = false;
};
#endregion
//blah blah other stuff
}
Die Sache ist, egal was, der Rückruf ich für BeforeExport
festgelegt haben wird nie ausgeführt, meine Vermutung ist, das Ereignis nie ausgelöst wird.
Was könnte es sein?
Du bist ein Leben Retter. Vielen Dank! – magicleon