FineUI 官方论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

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

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

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

DropDownList 第二次选择某个值,加载问题。

[复制链接]
跳转到指定楼层
楼主
发表于 2012-4-23 09:22:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
标题不知道咋起直接上图吧!第一次选择感冒药,点击获取规格可以得到,然后删除再次选择第一次选择的感冒药,点击获取规格下面加载规格的DDL第一行为空,但是鼠标点击该DDL时下面是有数据的但第一行数据没有加载到DDL里。然后选择之后就没有问题了。如果删除之后选择其他药品就没有该问题。

本帖子中包含更多资源

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

x
沙发
发表于 2012-4-23 09:47:36 | 只看该作者
重新绑定时,先清空原先绑定的数据
dropdownlist1.Items.Clear();
然后再绑定新的数据
板凳
 楼主| 发表于 2012-4-23 10:20:54 | 只看该作者
Landroid 发表于 2012-4-23 09:47
重新绑定时,先清空原先绑定的数据
dropdownlist1.Items.Clear();
然后再绑定新的数据 ...

   已经写了,没效果的。
地板
发表于 2012-4-23 10:23:19 | 只看该作者
Vincent 发表于 2012-4-23 10:20
已经写了,没效果的。

绑定完以后
DropDownList1.SelectedIndex = 0;
5#
 楼主| 发表于 2012-4-23 10:28:03 | 只看该作者
Landroid 发表于 2012-4-23 10:23
绑定完以后
DropDownList1.SelectedIndex = 0;

坑爹啊,还是没效果,只要是同种药就没有效果,不同药就是好的
这是源码:
protected void btnSelectPriceList_Click(object sender, EventArgs e)
        {

            ddlPackageSpec.Items.Clear();
            tbxDosageUnits.Text = string.Empty;
            string drugCode = ddlOrderCode.SelectedValue.Trim();
            //药品的库存,规格和厂家
            //List<his.Model.D_STOCK> dStocks = d_stock.GetList(drugCode);
            var lists = d_price_list.GetList();
            int count = lists.Count(dPriceList => dPriceList.DRUG_CODE.Trim() == drugCode);
            if (count == 0)
            {
                showMessage.Text = "药品价表中无数据!";
                // Alert.Show("");
                return;
            }
            his.Model.D_DICT dDict = d_dict.GetModel(drugCode);
         
            List<his.Model.D_PRICE_LIST> list = d_price_list.GetList(drugCode);//获取药品的规格和厂家
            foreach (var priceList in list)
            {
                var item = GetDrugPackageSpec(priceList);
                ddlPackageSpec.Items.Add(item);
            }
            ddlPackageSpec.SelectedIndex = 0;
            string dosageUnits = dDict.UNIT_DOSE;
            tbxDosageUnits.Text = dosageUnits;
            tbxDosageUnits.Enabled = false;
            showMessage.Text = "";

        }
6#
发表于 2012-4-23 11:15:25 | 只看该作者
Vincent 发表于 2012-4-23 10:28
坑爹啊,还是没效果,只要是同种药就没有效果,不同药就是好的
这是源码:
protected void btnSele ...

你调试看一下
foreach (var priceList in list)
            {
                var item = GetDrugPackageSpec(priceList);
                ddlPackageSpec.Items.Add(item);
            }
里绑定的值的过程
我看不出什么问题
7#
 楼主| 发表于 2012-4-23 11:31:59 | 只看该作者
Landroid 发表于 2012-4-23 11:15
你调试看一下
foreach (var priceList in list)
            {

我改了个地方,效果是有了但不知道是不是这的问题
ExtAspNet.PageContext.RegisterStartupScript(
                    "var d=Ext.getCmp('" + ddlOrderCode.ClientID + "');" +
                    " d.listWidth=250; " +
                    " d.addListener(\"keyup\",function(f,e){ " +
                    " var arr=['16','17','37','38','39','40','13']; " +
                    " var x=e.keyCode; " +
                    " for(var n=0 ;n<arr.length;n++) {if (parseInt(arr[n])==parseInt(x)) {return;}else{document.getElementById(\"" + ddlPackageSpec.ClientID + "\").value='';} }" +
                    " __doPostBack('loaddata',document.getElementById(\"" + ddlOrderCode.ClientID + "\").value);" +
                    "});"
                );
            }本来document.getElementById(\"" + ddlPackageSpec.ClientID + "\").value='';这段是放在return前的,而且arr里还有'8'即backspace键,现在改成如上所示的代码,就有用了,说不明白这是什么问题。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-5-4 23:06 , Processed in 0.050923 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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