Giriş
VB.NET
CSharp.NET
SQL Server
Dokümanlar
Örnek Çalışmalar
Sorun Çözücü
30 Puan   AutoCompleteExtender Kullanarak Otomatik Tamamlama
Caner ARAS 10 Haziran 2008 Salı 22:09
VB.NET
  Toplam (0) yorum yapıldı

Öncelikle App_Code dizini oluşturup AutoCompleteService.vb dosyası olarak kaydediyoruz, ve AutoCompleteService.asmx adında bir WebService oluşturup projemize ekliyoruz,

Ardından kullanmak istediğimiz sayfaya AutoCompleteExtender' eklentisi sürükleyip bırakıyoruz,

Imports System.Data

Imports System.Data.OleDb

Imports System.Web

Imports System.Web.Services

Imports System.Web.Services.Protocols

Imports System.Collections.Generic

 

<WebService(Namespace:="http://tempuri.org/")> _

<System.Web.Script.Services.ScriptService()> _

<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _

Public Class AutoCompleteService

    Inherits System.Web.Services.WebService

 

    <WebMethod()> _

    Public Function KisiArama(ByVal prefixText As String, ByVal count As Integer) As String()

        ' Access Bağlantısı İçin Bağlantı Cümlesi

        Dim MyconnStr As String = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("App_Data/db.mdb") & ""

 

        ' OleDbDataAdapter kullanılarak doldurulacak olan datatable nesnesi

        Dim Mydt As New DataTable

 

        ' Yeni bağlantı nesnesi

        Dim AccessConn As New OleDbConnection(MyconnStr)

        ' Yeni command nesnesi

        Dim AccessComm As New OleDbCommand("SELECT tumu from Kisiler", AccessConn)

        ' Gelen veriyi datatable aktarmak için gerekli olan adapter

        Dim AccessDatapter As New OleDbDataAdapter(AccessComm)

 

        ' Sorgu sonucu dönen veri datatable nesnesine eklenir.

        AccessDatapter.Fill(Mydt)

 

        ' Dönüş değerlerinin saklanacağı List nesnesi

        Dim retvalitems As List(Of String) = New List(Of String)

 

        ' Datatable nesnesinin içinde row bazında gezinim

        For Each Rows As DataRow In Mydt.Rows

            ' Bir string biçimlendirme fonksiyonu olan StartsWith ile row da ki değerin parametre olarak gelen

            ' prefixText ile başlayıp başlamadığını kontrol eden if yapısı

            If Rows.Item(0).ToString.StartsWith(prefixText, StringComparison.OrdinalIgnoreCase) Then

                ' geçerli olması durumunda koleksiyona ekle.

                retvalitems.Add(Rows.Item(0).ToString)

            End If

        Next

 

        ' İstenildiği taktirde sonuç direkt bir array nesnesi olarak döndürülebilir.

        'Return retvalitems.ToArray

 

        ' Fakat biz işe biraz daha renk katalım :)

 

        If retvalitems.Count <= 0 Then

            ' Eğer hiç bir uygun kayıt yoksa bilgi mesajı döndür.

            Return New String() {prefixText & " ile başlayan kayıt bulunamadı."}

        Else

            Return retvalitems.ToArray

        End If

    End Function

End Class


Servisimiz,

<%@ WebService Language="VB" CodeBehind="~/App_Code/AutoCompleteService.vb" Class="AutoCompleteService" %>



Default.aspx

<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>

                  

        <cc1:AutoCompleteExtender

        runat="server"

        ID="AutoComplete"

        TargetControlID="TextBox1"

        ServiceMethod="KisiArama"

        ServicePath="AutoCompleteService.asmx"

        MinimumPrefixLength="1"

        CompletionInterval="1000"

        EnableCaching="true"/>



Kolay gelsin,



Bu makaleyi değerlendirerek üst sıralara taşıyabilirsiniz




Makale Yorumları Yazar Hakkında
aspxnedir.com | ASP.NET | microsoft.com
Bu sitede yayımlanan her türlü yazı makale ve/veya haberin kaynağı mutlaka bildirilmektedir, buradan kopyalanan yazı makale ve/veya haberin kullanım sorumluluğu yazara aittir
net@aspxnedir.com
Caner ARAS | 2005-2008

eXTReMe Tracker