Anthem.NET扩展控件autoSuggest使用与修改

最近客户提出根据用户姓名的拼音来查找用户的要求,于是很自然的想到了autosuggest控件。autosuggest控件是Anthem.net里的扩展控件,效果相当不错。但是有两点不是很好,我接下来根据自己的要求修改一下这个控件。
1.下拉DIV的界面实在有点难看,黑白搭配不怎么好看。
修改过程如下:
首先将注入式脚本注释掉
    //Page.ClientScript.RegisterClientScriptBlock(typeof(AutoSuggestTextBox), script, script, false);
然后在你用到autosuggest控件的页面联入JS文件:
    <script type="text/javascript" src="AutoSuggestTextBox.js"></script>。
接下来就修改这个JS文件。
修改边框颜色:oDiv.style.borderColor = 'lightblue';
再修改选择时的背景颜色:this.txtArray[selectedElem].style.backgroundColor = '#FFD53B';
实现的效果如图:



2.另外一个不满足的情况是键入的是拼音,而下拉产生的是姓名,autoSuggest会自动选择将结果显示到TextBox上,对输入拼音造成干扰,如上图所示。我接下来要修改源代码让控件不自动选择。
首先加入一个自动选择属性,默认为ture:
        private bool _isAutoSuggest = true;
        public bool IsAutoSuggest
        {
            get { return _isAutoSuggest; }
            set { _isAutoSuggest = value; }
        }
修改要插入客户端的脚本的string,以将IsAutoSuggest值传进去:
acScript.AppendFormat("var {0} = new ASTextBox('{1}','{2}','{4}','{5}','{6}','{7}'); {0}.AllowEditing = '{3}';", jsId, newUid, divId, allowEd, ifrId, minCharTypedBeforeSearch, delayTimeBeforeSearch, IsAutoSuggest);
最后修改AutoSuggestTextBox.js脚本文件:
this.DoAutoSuggestStore = IsAutoSuggest=="True"?true:false;
ASTextBox.prototype.DoAutoSuggestStore = true;
  else if (iKeyCode < 32 || (iKeyCode >= 33 && iKeyCode <= 46) ||
  (iKeyCode >= 112 && iKeyCode <= 123))
  {
    return;
  }
  else
  {
    this.DoAutoSuggest = this.DoAutoSuggestStore;
  }
具体看上传的文件,就不多说了。
OK。在用到该控件的地方加上IsAutoSuggest=“false”就可以实现自动选择的取消。效果如下图:




文件下载: http://www.cnblogs.com/Files/JasonLin/AutoSuggestTextBox.rar

转载于:https://www.cnblogs.com/JasonLin/archive/2008/05/17/1201669.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值