FineUI 官方论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

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

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

搜索
查看: 5552|回复: 9
打印 上一主题 下一主题

可编辑下拉框,数据绑定问题

[复制链接]
跳转到指定楼层
楼主
发表于 2017-4-21 16:27:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
刚好用一个可编辑的,非强制选择的下拉框控件,编辑保存都很正常,唯独在做数据绑定的时候出现问题,如果值是在下拉框绑定值里,就很正常,通过SelectedValue来赋值就好了,但是遇到不在绑定值里,怎么去赋值,我试过很多种方式,直接给对控件的text赋值可以,但是因为没有去掉SelectedItem,页面显示还是默认的SelectedValue。
沙发
发表于 2017-4-21 17:04:24 | 只看该作者
SelectedItem=null 试下。最好基于空项目重现问题,并上传
板凳
发表于 2017-4-21 17:50:16 | 只看该作者
sanshi 发表于 2017-4-21 17:04
SelectedItem=null 试下。最好基于空项目重现问题,并上传

老大SelectedItem是只读的,不可写。
好像没有方法设置无选中项。
地板
发表于 2017-4-21 17:51:07 | 只看该作者
前台代码:
<form id="form1" runat="server">
        <div>
            <fageManager runat="server" />
            <fropDownList runat="server" ID="DropDownList1" EnableEdit="true" ForceSelection="false">
                <fistItem Text="可选项2(不可选择)" Value="Value2" EnableSelect="false" />
                <fistItem Text="可选项3(不可选择)" Value="Value3" EnableSelect="false" />
                <fistItem Text="可选项4" Value="Value4" />
                <fistItem Text="可选项5" Value="Value5" />
                <fistItem Text="可选项6" Value="Value6" />
                <fistItem Text="可选择项7" Value="Value7" />
                <fistItem Text="可选择项8" Value="Value8" />
                <fistItem Text="可选择项9" Value="Value9" />
                <fistItem Text="普通型1 < L > 1.5" Value="普通型1 < L > 1.5" />
            </fropDownList>

            <f:Button ID="btnGetSelection" Text="获取此下拉列表的选中项" runat="server" OnClick="btnGetSelection_Click">
            </f:Button>
        </div>
    </form>
5#
发表于 2017-4-21 17:51:48 | 只看该作者
后台代码:
protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                foreach (var it in DropDownList1.Items)
                {
                    it.Selected = false;
                }

                DropDownList1.Text = "123";
            }
        }

        protected void btnGetSelection_Click(object sender, EventArgs e)
        {
            if (DropDownList1.SelectedItem != null)
            {
               Alert.Show(String.Format("选中项:{0}(值:{1})", DropDownList1.SelectedItem.Text, DropDownList1.SelectedValue));
            }
            else
            {
                Alert.Show(String.Format("用户输入值:{0}", DropDownList1.Text));
            }
        }
6#
发表于 2017-4-21 17:54:35 | 只看该作者

还是没有text的123值。

我的fineui版本 v4.2.0

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
7#
 楼主| 发表于 2017-4-21 18:08:14 | 只看该作者
我用的是6.0.3的,也是一样。SelectedItem的属性只有get,所以后台代码赋不了空置。我后来想到就是把不在选择项中的值插到选择项中,就可以正常显示了。
8#
发表于 2017-4-21 18:16:48 | 只看该作者
实现类似的效果,可以用js来赋值。
</html>
<script>
    Ext.onReady(function () {
        F('<% =DropDownList1.ClientID %>').setValue('123123');
    });
</script>
9#
发表于 2017-5-3 13:01:50 | 只看该作者
必须全部数据加载到下拉框才能做赋值工作,遇到这种情况,一般把那部分不想显示的值绑定进去设置为不可选比较好
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-11-1 11:28 , Processed in 0.046157 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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