1

これは、インデックスから呼び出される部分ビューです。モデルでは、JobStatusSortOrder は null 許容の double として設定されます。ここで、ユーザーがインライン編集中に値を入力しない場合、デフォルトで値を null に設定するにはどうすればよいですか。デフォルトのテキストなどのオプションを探してみましたが、役立つものが見つかりません。誰かがこれで私を助けてくれますか? ありがとう!

@model MyProject.Web.ViewModels.ProjectStatusListViewModel

@using MyProject.Data.Models;
@using System.Web.UI.WebControls;
@using DevExpress.Web.Mvc.UI;
@using DevExpress.Web.ASPxEditors;
@using DevExpress.Web.Mvc;
@using DevExpress.Web.ASPxGridView;

@{
Html.EnableClientValidation(true);

var grid = Html.DevExpress().GridView(
    settings =>
    {
        settings.Name = "gvProjectStatus";
        settings.KeyFieldName = "JobStatusID";
        settings.Width = Unit.Pixel(1080);
        settings.CallbackRouteValues = new { Controller = "Maintenance", Action = "ProjectStatusMasterPartial" };
        settings.ClientSideEvents.BeginCallback = "function(s,e){e.customArgs['id'] = '" + ViewContext.RouteData.Values["JobStatusID"] + "'}";

        settings.SettingsEditing.AddNewRowRouteValues = new { Controller = "Maintenance", Action = "JobStatusInlineAddNewPartial" };
        settings.SettingsEditing.UpdateRowRouteValues = new { Controller = "Maintenance", Action = "JobStatusInlineEditPartial" };
        settings.SettingsEditing.DeleteRowRouteValues = new { Controller = "Maintenance", Action = "JobStatusInlineDeletePartial" }; 

        settings.SettingsEditing.Mode = GridViewEditingMode.Inline;
        settings.SettingsBehavior.ConfirmDelete = true;

        //Command column
        settings.CommandColumn.Visible = true;
        settings.CommandColumn.NewButton.Visible = true;
        settings.CommandColumn.DeleteButton.Visible = true;
        settings.CommandColumn.EditButton.Visible = true;
        settings.CommandColumn.Caption = "Actions";
        settings.CommandColumn.Width = 60; //Width is actually 100 not 60

        //for filtering
        settings.Settings.ShowFilterRow = true;
        settings.Settings.ShowFilterRowMenu = true;
        settings.CommandColumn.ClearFilterButton.Visible = true;

        settings.Columns.Add(column =>
        {
            column.FieldName = "JobStatusID";
            column.Caption = "JobStatusID";
            column.Visible = false;
        });

        settings.Columns.Add(column =>
        {
            column.FieldName = "SiteID";
            column.Caption = "SiteID";
            column.Visible = false;
        });

        settings.Columns.Add(column =>
        {
            column.FieldName = "JobStatusName";
            column.Caption = "Status Description";
            column.Settings.AllowAutoFilter = DefaultBoolean.True;
        });

        settings.Columns.Add(column =>
        {
            column.FieldName = "JobStatusCurrent";
            column.Caption = "Is Current";
            column.ColumnType = MVCxGridViewColumnType.CheckBox;
            column.Settings.AllowAutoFilter = DefaultBoolean.False;
        });

        settings.Columns.Add(column =>
        {
            column.FieldName = "JobStatusSortOrder";
            column.Caption = "Sort Order";
            column.Settings.AllowAutoFilter = DefaultBoolean.False;
        });
    });
}@grid.Bind(Model.JobStatus.ToList()).GetHtml()
4

2 に答える 2

0

これは数値型であるため、DevExpress グリッドの空の値は、データ構造の null と等しくなければなりません。データレイヤーに送信する前に、編集された空の文字列の値を確認して null に設定することはできませんか?

于 2013-01-14T17:55:14.673 に答える