FineUI 官方论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

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

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

搜索
查看: 4056|回复: 2
打印 上一主题 下一主题

DropDownList1无法输入内容

[复制链接]
跳转到指定楼层
楼主
发表于 2012-3-20 12:06:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
<html xmlns="http://www.w3.org/1999/xhtml" >  
<head id="Head1" runat="server">  
    <title>无标题页</title>  
</head>  
<body>  
    <form id="form1" runat="server">  
  <extageManager ID="ageManager1" runat="server" />  
  <extanel ID="anel1" runat="server" Width="500px" >  
      <Items>  
          <extropDownList ID="DropDownList1" runat="server"   Width="300px"></extropDownList>  
      </Items>  
  </extanel>  
   </form>         
</body>  
</html>

CS
using System;  
using System.Collections;  
using System.Configuration;  
using System.Data;  
using System.Linq;  
using System.Web;  
using System.Web.Security;  
using System.Web.UI;  
using System.Web.UI.HtmlControls;  
using System.Web.UI.WebControls;  
using System.Web.UI.WebControls.WebParts;  
using System.Xml.Linq;  
using System.IO;  
using System.Data.Sql;  
using System.Data.SqlClient;  
namespace rgextaspnet
{
    public partial class text : System.Web.UI.Page
    {
       protected void Page_Load(object sender, EventArgs e)  
      {  
         if (!IsPostBack)  
           {  
             //extaspnet 实现自动完成autocomplete 下拉功能 .
             //页面首次加载时,对下拉框修改,这里改变了下拉框长度,并且添加了一个监听事件keyup,在敲下字符后,触发下拉框查询事件   
               ExtAspNet.PageContext.RegisterStartupScript  
  (  
   "var d=Ext.getCmp('" + DropDownList1.ClientID + "');" +  
   " var oldInput=\"\";" +  
    " d.listWidth=500; " +  
    " d.addListener(\"keyup\",function(f,e){ " +  
    " var newInput=document.getElementById(\"" + DropDownList1.ClientID + "\").value;" +  
    " if (oldInput==newInput) {return;} " +  
    " oldInput=newInput;" +  
   " __doPostBack('loaddata',newInput);" +  
    "});"  
    );
           }  
          else  
           {  
               //这里就是keyup触发的事件了,代码是把输入的关键字在数据库里查询,注意在SQL里面,如果数据量大,不要用like来模糊匹配,会慢,用charindex效率要好些   
               if (Request["__EVENTTARGET"] == "loaddata")  
              {
                  SqlConnection Conn = new SqlConnection(ConfigurationManager.ConnectionStrings["sqlConne"].ToString());  
                   SqlCommand cmd = new SqlCommand(string.Format("SELECT * FROM FILM where charindex('{0}',id)>0 or charindex('{0}',name)>0",Request["__EVENTARGUMENT"]), Conn);  
                  Conn.Open();  
                  SqlDataReader dr = cmd.ExecuteReader();  
                  DropDownList1.Items.Clear();  
while (dr.Read())  
{  
    DropDownList1.Items.Add(new ExtAspNet.ListItem(dr["id"].ToString() + "-" + dr["name"].ToString(), dr["id"].ToString() + DateTime.Now.Ticks.ToString()));//给ddl的value加上时间戳   
           }   
                  dr.Close();  
                   //下面这句话是有道理的,extjs默认效果在autocomplete之后,值为变成下拉框的第一项,有点破坏效果,这里纠正过来,可以输入多个关键字   
                   ExtAspNet.PageContext.RegisterStartupScript("document.getElementById(\"" + DropDownList1.ClientID + "\").value='" + Request["__EVENTARGUMENT"] + "';");  

               }  
           }  
        }  
        protected override void Render(HtmlTextWriter writer)
        {
            string html = "";
            StringWriter strWriter = new StringWriter();
            HtmlTextWriter htw = new HtmlTextWriter(strWriter);
            base.Render(htw);
            html = strWriter.ToString().Replace("id:\"" + DropDownList1.ClientID + "\",", "id:\"" + DropDownList1.ClientID + "\"hideTrigger:true");
            html = html.Replace("editable:false", "editable:true");
            writer.Write(html);
        }
    }  
}   
测试那时DropDownList1无法输入内容
沙发
发表于 2012-3-20 14:38:37 | 只看该作者
我也在期待 dropdownList 能有更强大的功能
板凳
发表于 2012-3-20 18:28:18 | 只看该作者
dropdownlist目前还不能input
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-11-25 05:03 , Processed in 0.044912 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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