FineUI 官方论坛

标题: 关于extaspnet自动补全的问题 [打印本页]

作者: oΟo坏尐孓﹎    时间: 2012-5-30 15:34
标题: 关于extaspnet自动补全的问题
页面:
<html xmlns="http://www.w3.org/1999/xhtml">
<head 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>

////////////////////////////////////////////////////////////////////////////////////////////////
if (!IsPostBack)  
            {
                ExtAspNet.PageContext.RegisterStartupScript
                    (
                    "var d=Ext.getCmp('" + DropDownList1.ClientID + "');" +
                    " var t;" +
                    " var oldInput=\"\";" +
                    " d.listWidth=500;" +
                    " d.addListener(\"keyup\",function(f,e){ " +
                    " newInput=document.getElementById(\"" + DropDownList1.ClientID + "\").value;" +
                    " if (oldInput==newInput) {return;} " +
                    " oldInput=newInput;" +
                    " clearTimeout(t);" +
                    " t=setTimeout(\"__doPostBack('loaddata',newInput)\",1000)" +  
                    "});"
                    );
            }  
            else  
            {
                if (Request["__EVENTTARGET"] == "loaddata")
                {
                    SqlConnection Conn = new SqlConnection(ConfigurationManager.AppSettings["c2cc.cn"]);
                    Conn.Open();
                    SqlCommand cmd = new SqlCommand(string.Format("SELECT ID,corp_name,state FROM corp where charindex('{0}',corp_name) > 0 and state >0", Request["__EVENTARGUMENT"]), Conn);
                    SqlDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
                    DropDownList1.Items.Clear();
                    while (dr.Read())
                    {
                        DropDownList1.Items.Add(new ExtAspNet.ListItem(dr["corp_name"].ToString(), dr["id"].ToString() + DateTime.Now.Ticks.ToString()));
                    }
                    dr.Close();
                    Conn.Close();

                    ExtAspNet.PageContext.RegisterStartupScript("document.getElementById(\"" + DropDownList1.ClientID + "\").value='" + Request["__EVENTARGUMENT"] + "';");
                }
            }  
        }
        protected override void Render(HtmlTextWriter writer)  
        {  
            StringWriter strWriter = new StringWriter();  
            base.Render(new HtmlTextWriter(strWriter));  
            writer.Write(  
                strWriter.ToString()  
                .Replace("id: \"" + DropDownList1.ClientID + "\",", "id: \"" + DropDownList1.ClientID + "\",editable: true,hideTrigger:true,")  
                );
        }  

现在有一个问题,有时候输入中文不显示,还有用拼音输入中文词组的时候输入慢了会报错,可能我讲的不清楚,烦请大家帮我解决下





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