Reputation: 115
how can i set an alternative (zebra) rows in my devexpress asp.net mvc grid? can anybody help me? thanks.
@using System.Drawing
@using ClearEnginVB_MVC.App_Start
@using DevExpress.XtraRichEdit.Import.OpenXml
@{
var grid = Html.DevExpress().GridView(settings =>
{
settings.Name = "GridViewWorkFlow";
settings.CallbackRouteValues = new { Controller = "WorkFlow", Action = "GridViewWorkFlowPartial" };
settings.SettingsPager.Summary.Text = @OrderManagementSystem.Resources.Page + " {0} " + @OrderManagementSystem.Resources.Of + " {1} ({2} " + @OrderManagementSystem.Resources.Items + ")";
settings.ClientSideEvents.EndCallback = "EndCallback";
settings.SettingsEditing.AddNewRowRouteValues = new { Controller = "WorkFlow", Action = "GridViewWorkFlowPartialAddNew" };
settings.SettingsEditing.UpdateRowRouteValues = new { Controller = "WorkFlow", Action = "GridViewWorkFlowPartialUpdate" };
settings.SettingsEditing.DeleteRowRouteValues = new { Controller = "WorkFlow", Action = "GridViewWorkFlowPartialDelete" };
settings.SettingsEditing.Mode = GridViewEditingMode.EditFormAndDisplayRow;
settings.SettingsBehavior.ConfirmDelete = true;
settings.CommandColumn.Visible = true;
settings.CommandColumn.NewButton.Visible = false;
settings.CommandColumn.Visible = true;
settings.CommandColumn.DeleteButton.Visible = true;
settings.CommandColumn.EditButton.Visible = false;
settings.CommandColumn.DeleteButton.Text = @OrderManagementSystem.Resources.Remove;
settings.CommandColumn.EditButton.Text = @OrderManagementSystem.Resources.Edit;
settings.CommandColumn.Caption = @OrderManagementSystem.Resources.Operation;
settings.Name = "id";
settings.Columns.Add("WorkFlowID").Visible=false;
settings.Columns.Add("Name").Caption=OrderManagementSystem.Resources.WorkFlowName;
settings.Columns.Add("WorkFlowTypeName").Caption = OrderManagementSystem.Resources.WorkFlowTypeName;
settings.Columns.Add("ProductTypeName").Caption = OrderManagementSystem.Resources.ProductTypeName;
settings.Columns.Add("Description").Caption = OrderManagementSystem.Resources.Description;
settings.CommandColumn.VisibleIndex = settings.Columns.Count - 1;
settings.CommandColumn.ButtonType = System.Web.UI.WebControls.ButtonType.Image;
});
}@grid.Bind(Model).Html()
what settings should i set in this sample code, note:this is not my complete code.
Upvotes: 1
Views: 1805
Reputation: 115
with the help of Extensions i found the solution, here is the correct answer and it works good. i should just add this two lines of code to my partialDevexpressGrid
//Alternate Grid Settings for devexpress asp.net mvc grid
settings.Styles.AlternatingRow.Enabled = DefaultBoolean.True;
settings.Styles.AlternatingRow.BackColor = Color.FromArgb(240, 240, 255);
thank you all
Upvotes: 4
Reputation: 6631
I have found this in DevExpress Support Center. You can just add additional check for even row: e.VisibleIndex % 2 == 0
.
Here is example:
settings.HtmlRowPrepared = (sender, e) =>
{
if (e.RowType != GridViewRowType.Data) return;
ASPxGridView grid = sender as ASPxGridView;
if (grid.Selection.IsRowSelected(e.VisibleIndex)) return;
if (grid.FocusedRowIndex == e.VisibleIndex) return;
if (e.VisibleIndex % 2 == 0) return;
e.Row.BackColor = System.Drawing.Color.LightCoral;
};
settings.ClientSideEvents.FocusedRowChanged = "function(s, e){ e.processOnServer = true; }";
settings.ClientSideEvents.SelectionChanged = "function(s, e){ e.processOnServer = true; }";
Upvotes: 0