FineUI 官方论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

本论坛已关闭(禁止注册、发帖和回复)
请移步 三石和他的朋友们

FineUI首页 WebForms - MVC & Core - JavaScript 常见问题 - QQ群 - 十周年征文活动

FineUI(开源版) 下载源代码 - 下载空项目 - 获取ExtJS - 文档 在线示例 - 版本更新 - 捐赠作者 - 教程

升级到 ASP.NET Core 3.1,快、快、快! 全新ASP.NET Core,比WebForms还简单! 欢迎加入【三石和他的朋友们】(基础版下载)

搜索
查看: 2135|回复: 6
打印 上一主题 下一主题

下拉列表显示不了自定义值?求教!

[复制链接]
跳转到指定楼层
楼主
发表于 2014-2-13 04:22:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 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:39 | 只看该作者
没看懂你的代码,
板凳
 楼主| 发表于 2014-2-14 00:58:49 | 只看该作者
我再编辑贴子,再说得更清楚些,不知能否看得明白
地板
发表于 2014-2-14 09:31:01 | 只看该作者
你输入的内容是保存到数据库的,但是你加载的时候,你的下拉框数据源里有你 “手工”输入的内容项没?肯定没有。
5#
 楼主| 发表于 2014-2-14 10:09:51 | 只看该作者
本帖最后由 szjazz 于 2014-2-14 10:12 编辑

首先谢谢你的指导!下拉框数据源就是约定的规范数据,所以是没有包含手工输入的数据项,那这么说是初始化时,要先补充上了?那在数据源还要判断是否包含这手工输入的内容?应该怎么做呢?
6#
 楼主| 发表于 2014-2-14 10:46:30 | 只看该作者
本帖最后由 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));
复制代码






7#
发表于 2014-2-17 09:26:40 | 只看该作者
为人民服务。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|FineUI 官方论坛 ( 皖ICP备2021006167号-1 )

GMT+8, 2024-11-27 07:37 , Processed in 0.044361 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表