【问题标题】:dev express grid view combo box default value when binding value is null / empty绑定值为空/空时的dev express网格视图组合框默认值
【发布时间】:2013-01-24 01:05:25
【问题描述】:

以下是我在 dev express 网格视图编辑模板中使用的组合框代码。 我希望组合框在添加新员工时不显示任何内容或显示“请选择员工”的字符串,而不是在编辑时显示。

        @Html.DevExpress().ComboBox(edtSettings =>
            {
                edtSettings.Width = 200;
                edtSettings.Name = "EmployeeID";
                //edtSettings.Properties.TextField = "FirstName";
                edtSettings.Properties.ValueField = "EmployeeID";
                edtSettings.Properties.ValueType = typeof(int);

                edtSettings.Properties.DropDownStyle = DropDownStyle.DropDownList;
                edtSettings.ShowModelErrors = true;

                edtSettings.Properties.TextFormatString = "{0}" + " " + "{1}";
                edtSettings.Properties.Columns.Add("FirstName", "First Name", 150);
                edtSettings.Properties.Columns.Add("LastName", "Last Name", 150);

                //--- For client side validations
                edtSettings.Properties.ValidationSettings.RequiredField.IsRequired = true;
                edtSettings.Properties.ValidationSettings.RequiredField.ErrorText = "An Employee must be selected from the list.";

            }).BindList(Model.NonUsers).Bind(Model.UserSingle.EmployeeID).GetHtml()

我这样做是为了传递正确的 Model.UserSingle,如下所示

    var User = ViewData["UserDetail"] != null
                            ? ViewData["UserDetail"]
                            : !c.Grid.IsNewRowEditing
                                ? Model.UserList.FirstOrDefault(m => m.EmployeeID == Convert.ToInt32(DataBinder.Eval(c.DataItem, "EmployeeID")))
                                : new User
                                    {
                                        SiteID = (int)Session["siteID"],

                                        ////employee ID cant set to blank, keeps adding a zero
                                        //EmployeeID = Convert.ToInt32(null),

                                        //this is defaulted to 'Timesheet Only'
                                        UserGroupID = 3
                                    };

            Model.UserSingle = (User)User;

【问题讨论】:

    标签: c# asp.net-mvc gridview razor devexpress


    【解决方案1】:

    目前,MVC ComboBox 扩展不允许将“Null Item”(Null Text,Water Mark)添加到 Items 集合中。 它在 DevEx TO-DO 列表中。

    您可以尝试这种解决方法。

     @Html.DevExpress().ComboBox(edtSettings =>
                {
        edtSettings.Properties.ClientSideEvents.Init = "function(s,e){if(s.GetValue()=='0'){ s.SetValue(null);} }";
    ...
    

    【讨论】:

    • 似乎是我正在寻找的东西,我会在一两天内试一试,然后告诉你我的进展情况。谢谢亚历杭德罗。
    【解决方案2】:

    ComboBox你可以使用这个属性:

    edtSettings.Properties.NullDisplayText = "Please Choose and Employee";
    

    【讨论】:

    • 感谢您的建议,但我已经尝试过了,这不是我想要的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-23
    • 2015-02-13
    • 2020-04-11
    • 1970-01-01
    相关资源
    最近更新 更多