在kendo grid下拉列表中添加选择值

时间:2012-11-15 14:35:45

标签: asp.net-mvc kendo-ui

目前,如果您选择选择值选项,则不会选择值。无论如何我可以在内联网格下拉列表中添加选择值吗?添加和编辑记录时

GridForeignKey.cshtml

@(
 Html.Kendo().DropDownList()
        .Name(ViewData.TemplateInfo.GetFullHtmlFieldName(""))
        .BindTo((SelectList)ViewData[ViewData.TemplateInfo.GetFullHtmlFieldName("") + "_Data"])
        .OptionLabel("Select value")
)

查看:

 columns.ForeignKey(p => p.SSID, (System.Collections.IEnumerable)ViewData["dataStatus"], "OptID", "OptName");

控制器:

 private void PopulateDataStatus()
        {
            ViewData["dataStatus"] = new HEntities().COpts
                       .Select(e => new COptModel
                       {

                           OptID = e.OptID,
                           OptName = e.OptName,
                           CTypeID = e.CTypeID

                       })
                       .Where(e => e.CTypeID == 99)
                       .OrderBy(e => e.OptName);
        }

那么我如何添加选择值文本,请指教?

2 个答案:

答案 0 :(得分:4)

我现在已经重读了你的问题几次,我不确定我是否理解它。如果您询问如何选择默认值,则需要使用 SelectedIndex 方法,其中参数是索引值(注意它基于零)。例如,要使第二个选项成为默认选项(因为它是从零开始):

@(
Html.Kendo().DropDownList()
  .Name(ViewData.TemplateInfo.GetFullHtmlFieldName(""))
  .BindTo((SelectList)ViewData[ViewData.TemplateInfo.GetFullHtmlFieldName("") + "_Data"])
  .OptionLabel("Select value")
  .SelectedIndex(1)
)

答案 1 :(得分:1)

OptionsLabel 始终为空值。

要更改此值并设置值,您需要将其添加为带有自己文本的第一项(“请选择”)和传递给 BindTo 方法的集合的值(您预先设定的值) (并删除OptionLabel)。