zoukankan      html  css  js  c++  java
  • AutoComplete控件


    AutoComplete控件的作用是根据用户在文本框输入的字符而做出相应的提示效果。例如GOOGLE搜索提示功能。
    属性列表:
    TargetControlID:要实现提示功能的控件
    ServicePath:WEB服务的路径
    ServiceMethod:调用数据使用的方法
    CompletionSetCount:提示数据的行数
    MinimumPrefixLength:用户输入多少字母才出现提示效果
    CompletionInterval:从服务器获取数据的时间间隔,单位为毫秒
    Enabled:是否启用自动完成功能,默认为TRUE
    EnableCaching:是否启用缓存

    实例解析一、读取数据库实现自动完成功能

    autocomplete表:ID,NAME两个字段。

    Default.aspx代码如下:

    <head runat="server">
        <title>AutoComplete的使用</title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <asp:ScriptManager ID="ScriptManager1" runat="server">
            </asp:ScriptManager>   
        </div>
            <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
            <cc1:AutoCompleteExtender ID="AutoCompleteExtender1" runat="server" TargetControlID="TextBox1" ServicePath="WebServiceAutoComplete.asmx" ServiceMethod="GetCompleteDepart" CompletionSetCount="2" MinimumPrefixLength="1"
             CompletionInterval="1000">
            </cc1:AutoCompleteExtender>
        </form>
    </body>

    WebServiceAutoComplete.asmx.cs文件代码如下:

    using System;
    using System.Web;
    using System.Collections;
    using System.Web.Services;
    using System.Web.Services.Protocols;
    using System.Data;
    using System.Data.SqlClient;
    using System.Configuration;
    .....
    .....
    [System.Web.Script.Services.ScriptService]
    public class WebServiceAutoComplete : System.Web.Services.WebService {

    .....
    .....
        //定义数组
        private static string[] autoCompleteWordList = null;
        [WebMethod]
        public string[] GetCompleteDepart(string prefixText, int count)
        {
            //如果数组为空
            if (autoCompleteWordList == null)
            {
                DAL.DB DBOperator = new DAL.DB();
                DataSet ds = DBOperator.GetDs("select name from autocomplete where name like '"+prefixText+"%' order by name");
                //填充数组
                string[] temp=new string[ds.Tables[0].Rows.Count];
                int i = 0;
                foreach (DataRow dr in ds.Tables[0].Rows)
                {
                    temp[i] = dr["name"].ToString();
                    i++;
                }
                //将临时数组的内容赋给返回数组
                autoCompleteWordList = temp;
            }
            string[] returnValue = new string[count];
            returnValue = autoCompleteWordList;
            //返回
            return returnValue;
        }   
    }

  • 相关阅读:
    理解 Java Thread ContextClassLoader(线程上下文类加载器)
    StringUtils工具类常用方法汇总2(截取、去除空白、包含、查询索引)
    StringUtils工具类常用方法汇总1(判空、转换、移除、替换、反转)
    数组去重(2)
    数组去重(1)
    查找数组中的最大值(最小值)及相对应的下标
    javascript 隐式转换 == 之 [ ]==![ ] 结果为true,而{ }==!{ } 结果为false
    圣杯布局(2)>>>>>
    圣杯布局(1)>>>>>
    二分查找里的upper bound与lower bound的实现与分析
  • 原文地址:https://www.cnblogs.com/astar/p/955632.html
Copyright © 2011-2022 走看看