@using ProperGSMViewModel
@using DevExpress.Data.Linq
@using DevExpress.Web.Mvc
@using DevExpress.Web.Mvc.UI
@using DevExpress.Web.ASPxHtmlEditor;
@model ThingsViewModel
@{
Html.DevExpress().GridView(s =>
{
s.Name = "GridViewGallery";
s.KeyFieldName = "ID";
s.SettingsEditing.ShowModelErrorsForEditors = true;
s.SettingsBehavior.ConfirmDelete = true;
s.CallbackRouteValues = new { Controller = "Home", Action = "ThingPartial" };
s.SettingsEditing.UpdateRowRouteValues = new { Controller = "Home", Action = "ThingEditPartial" };
s.SettingsEditing.AddNewRowRouteValues = new { Controller = "Home", Action = "ThingEditPartial" };
s.SettingsEditing.DeleteRowRouteValues = new { Controller = "Home", Action = "ThingDeletePartial"};
s.SettingsEditing.Mode = GridViewEditingMode.EditForm;
s.SettingsDataSecurity.AllowDelete = true;
s.CommandColumn.Visible = true;
s.CommandColumn.ShowEditButton = true;
s.CommandColumn.ShowCancelButton = true;
s.CommandColumn.ShowNewButtonInHeader = true;
s.CommandColumn.ShowDeleteButton = true;
s.Columns.Add(settings =>
{
settings.Name = "coTitle";
settings.FieldName = "Title";
settings.EditFormSettings.Visible = DefaultBoolean.True;
settings.Settings.AutoFilterCondition = AutoFilterCondition.Contains;
settings.ColumnType = MVCxGridViewColumnType.TextBox;
TextBoxProperties properties = (TextBoxProperties)settings.PropertiesEdit;
});
s.Columns.Add(settings =>
{
settings.Name = "coTypeID";
settings.FieldName = "TypeID";
settings.Caption = "Type";//列的标题
settings.EditFormSettings.Visible = DefaultBoolean.True;
settings.ColumnType = MVCxGridViewColumnType.ComboBox;
ComboBoxProperties properties = (ComboBoxProperties)settings.PropertiesEdit;//下拉列表的属性
properties.DataSource = Model.ProperTypeLookUpData;//下拉列表的数据源
properties.TextField = "TypeName";//显示在下拉列表的数据
properties.ValueField = "ID";//数据的主键
properties.ValueType = typeof(string);//下拉列表数据的类型
properties.ValidationSettings.RequiredField.IsRequired = true;//是否为必填字段
});
s.Columns.Add(settings =>
{
settings.Name = "coContent";
settings.FieldName = "Content";
//settings.SetNestedContent(() =>
//{
// Html.RenderPartial("ProductWorldPartial", Model);
//});
settings.SetDetailRowTemplateContent(c =>
{
Html.RenderAction("RemoteClassPartial", new { LcID = DataBinder.Eval(c.DataItem, "LcID") });
});
红色部分报错,不知道怎么将一个World文档类型的分部视图嵌套到表格中。
});
s.Columns.Add(settings =>
{
settings.Name = "coDate";
settings.FieldName = "Date";
settings.EditFormSettings.Visible = DefaultBoolean.True;
settings.ColumnType = MVCxGridViewColumnType.DateEdit;
});
s.Columns.Add(settings =>
{
settings.Name = "coPath";
settings.FieldName = "Path";
settings.Settings.AutoFilterCondition = AutoFilterCondition.Contains;
settings.ReadOnly = true;
settings.SetDataItemTemplateContent(cell =>
{
ViewContext.Writer.Write(string.Format("<a href=\"{0}\" target=\"_blank\">{1}</a>", Url.Content(cell.Text), cell.Text));
});
settings.ColumnType = MVCxGridViewColumnType.TextBox;
TextBoxProperties properties = (TextBoxProperties)settings.PropertiesEdit;
properties.MaxLength = 100;
properties.ClientInstanceName = "TextBoxPath";//jQuery中所需要的名称
properties.ValidationSettings.RequiredField.IsRequired = true;
});
s.Columns.Add(settings =>
{
settings.Index = 5;
settings.Name = "coUploadControl";
settings.Caption = "图片上传";
settings.Visible = false;
settings.Settings.AllowAutoFilter = DefaultBoolean.False;
settings.ColumnType = MVCxGridViewColumnType.Default;
settings.EditFormSettings.VisibleIndex = 5;
settings.EditFormSettings.Visible = DefaultBoolean.True;
settings.EditFormSettings.ColumnSpan = 2;
settings.SetEditItemTemplateContent(c =>
{
Html.DevExpress().UploadControl(uploadsettings =>
{
uploadsettings.Name = "PathUploadControl";
uploadsettings.CallbackRouteValues = new { Controller = "Home", Action = "CallbacksUpload" };
uploadsettings.ShowUploadButton = true;
uploadsettings.ShowProgressPanel = true;
uploadsettings.UploadMode = UploadControlUploadMode.Auto;
uploadsettings.ValidationSettings.Assign(ProperGSM.FileUploadControlHelper.ImageUploadValidationSettings);
uploadsettings.ClientSideEvents.FileUploadComplete = "UploadControlCallback";//文件上传完成调用SCRIPT
}).Render();
ViewContext.Writer.Write("<div style=\"margin: 5px 0;\">类型:jpg/png/gif 最大文件大小: 2MB</div>");
});
});
s.Settings.ShowFilterRow = true;
s.Settings.ShowFilterRowMenu = true;
s.Settings.ShowFilterRowMenuLikeItem = true;
s.Settings.ShowFilterBar = GridViewStatusBarMode.Visible;
s.Styles.AlternatingRow.Enabled = DefaultBoolean.True;
s.Width = System.Web.UI.WebControls.Unit.Percentage(100);
s.SettingsBehavior.AutoFilterRowInputDelay = 2000;
s.SettingsPager.Position = System.Web.UI.WebControls.PagerPosition.Bottom;
s.SettingsPager.FirstPageButton.Visible = true;
s.SettingsPager.LastPageButton.Visible = true;
s.SettingsPager.PageSizeItemSettings.Visible = true;
}).BindToLINQ("", "", new EventHandler<LinqServerModeDataSourceSelectEventArgs>((s, e) =>
{
e.KeyExpression = "ID";
e.QueryableSource = Model.Source;
})).GetHtml();
}