FineUI 官方论坛

标题: 下拉列表显示不了自定义值?求教! [打印本页]

作者: szjazz    时间: 2014-2-13 04:22
标题: 下拉列表显示不了自定义值?求教!
本帖最后由 szjazz 于 2014-2-14 00:58 编辑

界面定义了下拉列表为可编辑,不强制选择的属性:
  1. <f:DropDownList ID="ddlCity" runat="server" Label="城市" EnableEdit="true" ForceSelection="false"></f:DropDownList>
复制代码

储存时,也判断了是手工输入的内容,还是选择项的内容,然后赋值给model以保存到数据表:
  1. if (ddlCity.SelectedItem != null)
  2.                 modelCustomer.City = EmptyToNull(ddlCity.SelectedValue);
  3.             else
  4.                 modelCustomer.City = EmptyToNull(ddlCity.Text);
复制代码

但在操作读入数据时,下面两种方式却都显示不了数据库里的自定义内容呢:方式一:
  1. ddlCity.Text = modelCustomer.City;
复制代码
方式二:
  1. ddlCity.SelectedValue= modelCustomer.City;
复制代码
都不能显示出从数据表里读取到的手工输入的内容(不是下拉选择项的内容)



作者: 小兵    时间: 2014-2-13 09:41
没看懂你的代码,
作者: szjazz    时间: 2014-2-14 00:58
我再编辑贴子,再说得更清楚些,不知能否看得明白
作者: 小兵    时间: 2014-2-14 09:31
你输入的内容是保存到数据库的,但是你加载的时候,你的下拉框数据源里有你 “手工”输入的内容项没?肯定没有。
作者: szjazz    时间: 2014-2-14 10:09
本帖最后由 szjazz 于 2014-2-14 10:12 编辑

首先谢谢你的指导!下拉框数据源就是约定的规范数据,所以是没有包含手工输入的数据项,那这么说是初始化时,要先补充上了?那在数据源还要判断是否包含这手工输入的内容?应该怎么做呢?

作者: szjazz    时间: 2014-2-14 10:46
本帖最后由 szjazz 于 2014-2-14 10:59 编辑

再次感谢小兵的提示,解决了问题:规范的数据源绑定之后,再判断是否有手工输入的值,如无则补加选项:
  1. if (ddlDuty.Items.FindByValue(modelLinkMan.Duty)==null)
  2.                 ddlDuty.Items.Add(new FineUI.ListItem(modelLinkMan.Duty, modelLinkMan.Duty));
复制代码







作者: 小兵    时间: 2014-2-17 09:26
为人民服务。




欢迎光临 FineUI 官方论坛 (https://fineui.com/BBS/) Powered by Discuz! X3.4