提高自动完成扩展器的数据获取速度 [英] Increse the data fetching speed of autocomplete extender

查看:72
本文介绍了提高自动完成扩展器的数据获取速度的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

亲爱的先生,
我在项目中使用了自动完成扩展程序,它可以正确提取数据,但是运行速度非常慢.
我想提高它的速度

请帮助我.

Dear Sir,
I have use auto complete Extender in my project its fetching data properly but it is working so slowly.
I want to increase its speed

please Help me.

推荐答案

在AutoCompleteExtender中设置关注属性



< asp:panel id ="divwidth" runat ="server" cssclass ="divwidth" style ="position:absolute; z-index:10; border-width:medium" xmlns:asp =#unknown">

< ajaxtoolkit:autocompleteextender id ="AutoCompleteExtender2" runat ="server" targetcontrolid ="txtControlId" xmlns:ajaxtoolkit =#unknown">
CompletionListItemCssClass ="listItem" CompletionListHighlightedItemCssClass ="highlightedListItem"
ServicePath ="WebServMads.asmx" ServiceMethod ="getStudent" MinimumPrefixLength ="3"
CompletionListCssClass ="completionListElement" CompletionSetCount ="20"
CompletionInterval ="500" FirstRowSelected ="true" OnClientItemSelected ="getSelectedStudent" OnClientPopulated ="OnClientPopulated"
CompletionListElementID ="divwidth">

函数getSelectedStudent(source,eventArgs)
{
//调试器;
document.getElementById(''<%= hdnStudent.ClientID%>'').value = eventArgs.get_value();
if(document.getElementById(''<%= hdnStudent.ClientID%>'').value!='''')
{
var textValue = eventArgs.get_value().split(-");
if(textValue.length> 0)
{
document.getElementById(''<%= txtStudent.ClientID%>'').value = textValue [0];
}
}
}

函数OnClientPopulated(sender,eventArgs)
{
调试器

var autoList = sender.get_completionList();
for(i = 0; i< autoList.childNodes.length; i ++)
{
var text = autoList.childNodes [i] .firstChild.nodeValue;
autoList.childNodes [i] ._ value =文本;
autoList.childNodes [i] .innerHTML ="" +文本;
}


在选择语句中,仅选择必需的列. (不使用表名中的select *)
Set Following property in AutoCompleteExtender



<asp:panel id="divwidth" runat="server" cssclass="divwidth" style="position:absolute; z-index:10; border-width:medium" xmlns:asp="#unknown">

<ajaxtoolkit:autocompleteextender id="AutoCompleteExtender2" runat="server" targetcontrolid="txtControlId" xmlns:ajaxtoolkit="#unknown">
CompletionListItemCssClass="listItem" CompletionListHighlightedItemCssClass="highlightedListItem"
ServicePath="WebServMads.asmx" ServiceMethod="getStudent" MinimumPrefixLength="3"
CompletionListCssClass="completionListElement" CompletionSetCount="20"
CompletionInterval="500" FirstRowSelected="true" OnClientItemSelected="getSelectedStudent" OnClientPopulated="OnClientPopulated"
CompletionListElementID="divwidth">

function getSelectedStudent(source, eventArgs)
{
//debugger;
document.getElementById(''<%= hdnStudent.ClientID %>'').value = eventArgs.get_value();
if(document.getElementById(''<%= hdnStudent.ClientID %>'').value != '''')
{
var textValue = eventArgs.get_value().split("-");
if(textValue.length > 0)
{
document.getElementById(''<%= txtStudent.ClientID %>'').value = textValue[0];
}
}
}

function OnClientPopulated(sender, eventArgs)
{
debugger

var autoList = sender.get_completionList();
for (i = 0; i < autoList.childNodes.length; i++)
{
var text = autoList.childNodes[i].firstChild.nodeValue;
autoList.childNodes[i]._value = text;
autoList.childNodes[i].innerHTML = " " + text;
}


In select Statement select only required column. (not use select * from tablename)


这篇关于提高自动完成扩展器的数据获取速度的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆