Hi,

bei mir funzt es aber, hier mal der Code (vielleicht brauchst du ja eine 
auto-sortier-ddl, musst dann auf der aspx-seite noch die textbox und die ddl 
anlegen), die wichtigen punkte am Anfang(Public event) und am 
Ende(ddl-indexchanged event mit raiseevent). 

Public Class FilterDropDownList
    Inherits System.Web.UI.UserControl

#Region " Vom Web Form Designer generierter Code "

    'Dieser Aufruf ist f�r den Web Form-Designer erforderlich.
    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()

    End Sub
    Protected WithEvents FilterBox As System.Web.UI.WebControls.TextBox
    Protected WithEvents FilterList As System.Web.UI.WebControls.DropDownList

    'HINWEIS: Die folgende Platzhalterdeklaration ist f�r den Web Form-Designer 
erforderlich.
    'Nicht l�schen oder verschieben.
    Private designerPlaceholderDeclaration As System.Object

    Private Sub Page_Init(ByVal sender As System.Object, ByVal e As 
System.EventArgs) Handles MyBase.Init
        'CODEGEN: Dieser Methodenaufruf ist f�r den Web Form-Designer 
erforderlich
        'Verwenden Sie nicht den Code-Editor zur Bearbeitung.
        InitializeComponent()
    End Sub

#End Region

    Public Event DdlIndexChanged(ByVal sender As Object, ByVal e As EventArgs)
    Private Const filterScript As String = "" & vbCrLf & _
        "<script language=JavaScript>" & vbCrLf & _
        "<!--" & vbCrLf & _
        "/*******************************************************" & vbCrLf & _
        "Filter-Function for UserControl FilterDropDownList.ascx" & vbCrLf & _
        "********************************************************/" & vbCrLf & _
        "function startFilter(pattern,listId){" & vbCrLf & _
        "   var list=document.getElementById(listId);" & vbCrLf & _
        "   var partOne, partTwo, maxLength;" & vbCrLf & _
        "   //pattern = new RegExp(pattern,""i""); " & vbCrLf & _
        "   var searchType;" & vbCrLf & _
        "   var index=pattern.indexOf(""*"");" & vbCrLf & _
        "   if (pattern.substring(0,1)==""*""){                                 
//Am Anfang" & vbCrLf & _
        "       searchType=""InsideWord"";" & vbCrLf & _
        "       pattern=pattern.substring(1,pattern.length);" & vbCrLf & _
        "       maxLength=pattern.length;" & vbCrLf & _
        "   }else 
if(pattern.substring(pattern.length-1,pattern.length)==""*""){//Am Ende" & 
vbCrLf & _
        "       searchType=""FrontOfWord"";" & vbCrLf & _
        "       pattern=pattern.substring(0,pattern.length-1);" & vbCrLf & _
        "       maxLength=pattern.length;" & vbCrLf & _
        "   }else if(index > -1){                                             
//Mittendrin" & vbCrLf & _
        "       searchType=""Both"";" & vbCrLf & _
        "       partOne=pattern.substring(0,index);" & vbCrLf & _
        "       partTwo=pattern.substring(index+1,pattern.length);" & vbCrLf & _
        "       maxLength=partOne.length+partTwo.length;" & vbCrLf & _
        "   }else" & vbCrLf & _
        "       searchType=""FrontOfWord""; " & vbCrLf & _
        "" & vbCrLf & _
        "   /*" & vbCrLf & _
        "   if the dropdown list passed in hasn't" & vbCrLf & _
        "   already been backed up, we'll do that now" & vbCrLf & _
        "   */" & vbCrLf & _
        "   if (!list.bak){" & vbCrLf & _
        "       /*" & vbCrLf & _
        "       We're going to iterate through the backed up dropdown" & vbCrLf 
& _
        "       list. If an item matches, it is added to the list of" & vbCrLf 
& _
        "       matches. If not, then it is added to the list of non matches." 
& vbCrLf & _
        "       */" & vbCrLf & _
        "       list.bak = new Array();" & vbCrLf & _
        "       for (n=0;n<list.length;n++){" & vbCrLf & _
        "           list.bak[list.bak.length] = new Array(list[n].value, 
list[n].text);" & vbCrLf & _
        "       }" & vbCrLf & _
        "   }" & vbCrLf & _
        "" & vbCrLf & _
        "   /*" & vbCrLf & _
        "   We're going to iterate through the backed up dropdown" & vbCrLf & _
        "   list. If an item matches, it is added to the list of" & vbCrLf & _
        "   matches. If not, then it is added to the list of non matches." & 
vbCrLf & _
        "   */" & vbCrLf & _
        "   var match = new Array();" & vbCrLf & _
        "   var nomatch = new Array();" & vbCrLf & _
        "" & vbCrLf & _
        "   if(!pattern.length==0){" & vbCrLf & _
        "       for (n=0;n<list.bak.length;n++){" & vbCrLf & _
        "           var nextItem = list.bak[n][1].toLowerCase();" & vbCrLf & _
        "           if(maxLength > nextItem.length){//add to nomatch if item is 
shorter then searched text" & vbCrLf & _
        "               nomatch[nomatch.length] = new Array(list.bak[n][0], 
list.bak[n][1]);" & vbCrLf & _
        "           }else{" & vbCrLf & _
        "               if(searchType==""FrontOfWord""){" & vbCrLf & _
        "                   
if(nextItem.substring(0,pattern.length)==pattern.toLowerCase()){" & vbCrLf & _
        "                       match[match.length] = new Array(list.bak[n][0], 
list.bak[n][1]);" & vbCrLf & _
        "                   }else{" & vbCrLf & _
        "                       nomatch[nomatch.length] = new 
Array(list.bak[n][0], list.bak[n][1]);" & vbCrLf & _
        "               }" & vbCrLf & _
        "           }else if(searchType==""InsideWord""){" & vbCrLf & _
        "               
if(nextItem.substr(nextItem.length-pattern.length,pattern.length)==pattern.toLowerCase()){"
 & vbCrLf & _
        "                   match[match.length] = new Array(list.bak[n][0], 
list.bak[n][1]);" & vbCrLf & _
        "               }else{" & vbCrLf & _
        "                   nomatch[nomatch.length] = new Array(list.bak[n][0], 
list.bak[n][1]);" & vbCrLf & _
        "               }" & vbCrLf & _
        "           }else 
if(searchType==""Both""){//alert(""Both\n""+""NextItem:""+nextItem+""\npartOne:""+partOne+""\npartTwo:""+partTwo);"
 & vbCrLf & _
        "               
if(nextItem.substring(0,partOne.length)==partOne.toLowerCase() && 
nextItem.substr(nextItem.length-partTwo.length,partTwo.length)==partTwo.toLowerCase()){"
 & vbCrLf & _
        "                   match[match.length] = new Array(list.bak[n][0], 
list.bak[n][1]);" & vbCrLf & _
        "               }else{" & vbCrLf & _
        "                   nomatch[nomatch.length] = new Array(list.bak[n][0], 
list.bak[n][1]);" & vbCrLf & _
        "               }" & vbCrLf & _
        "           }" & vbCrLf & _
        "       }" & vbCrLf & _
        "   }" & vbCrLf & _
        "}" & vbCrLf & _
        "" & vbCrLf & _
        "//First delete all items" & vbCrLf & _
        "list.length=0;" & vbCrLf & _
        "" & vbCrLf & _
        "if (pattern.length==0)" & vbCrLf & _
        "  match=list.bak;" & vbCrLf & _
        "" & vbCrLf & _
        "/*" & vbCrLf & _
        "Now we completely rewrite the dropdown list." & vbCrLf & _
        "Only the matches will be shown" & vbCrLf & _
        "*/" & vbCrLf & _
        "for(n=0;n<match.length;n++){" & vbCrLf & _
        "  var value=match[n][0];" & vbCrLf & _
        "  var text=match[n][1];" & vbCrLf & _
        "  list[n]=new Option(text,value);" & vbCrLf & _
        "}" & vbCrLf & _
        "/*** The 'nomatches' wont be shown in the usercontrol" & vbCrLf & _
        "/*for (n=0;n<nomatch.length;n++){" & vbCrLf & _
        "  list[n+match.length].value = nomatch[n][0];" & vbCrLf & _
        "  list[n+match.length].text = nomatch[n][1];" & vbCrLf & _
        "}*/" & vbCrLf & _
        "" & vbCrLf & _
        "/*" & vbCrLf & _
        "Finally, we make the 1st item selected - this" & vbCrLf & _
        "makes sure that the matching options are" & vbCrLf & _
        "immediately(apparent)" & vbCrLf & _
        "*/" & vbCrLf & _
        "if (list.length>0)list.selectedIndex=0;" & vbCrLf & _
        "}" & vbCrLf & _
        
"/********************************************************************************"
 & vbCrLf & _
        " ENDE Filter-Function for UserControl FilterDropDownList.ascx" & 
vbCrLf & _
        
"********************************************************************************/"
 & vbCrLf & _
        "-->" & vbCrLf & _
        "</script>"

    Public Sub New()
        MyBase.new()
    End Sub

    Public Sub New(ByVal source As DataView)
        MyBase.New()
        DataSource = source
    End Sub

    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As 
System.EventArgs) Handles MyBase.Load
        registerScript()
        FilterBox.Attributes.Add("onPropertyChange", "startFilter(this.value,'" 
& FilterList.ClientID & "');")
    End Sub

    Private Sub registerScript()
        If Not Page.IsClientScriptBlockRegistered("FilterScript") Then
            Page.RegisterClientScriptBlock("FilterScript", filterScript)
        End If
    End Sub

    Public Function getSelectedValue() As String
        Return FilterList.SelectedValue
    End Function

    Public Property DataSource() As DataView
        Get
            Return DirectCast(FilterList.DataSource, DataView)
        End Get
        Set(ByVal Value As DataView)
            FilterList.DataSource = Value
            FilterList.DataBind()
        End Set
    End Property

    Public Property DataTextField() As String
        Get
            Return FilterList.DataTextField
        End Get
        Set(ByVal Value As String)
            FilterList.DataTextField = Value
        End Set
    End Property

    Public Property DataValueField() As String
        Get
            Return FilterList.DataValueField
        End Get
        Set(ByVal Value As String)
            FilterList.DataValueField = Value
        End Set
    End Property


    Public Property Sort() As String
        Get
            Return DataSource.Sort
        End Get
        Set(ByVal Value As String)
            Dim source As DataView = DataSource
            source.Sort = Value
            DataSource = source
        End Set
    End Property

    Public ReadOnly Property TextBox() As TextBox
        Get
            Return FilterBox
        End Get
    End Property

    Public ReadOnly Property DropDownList() As DropDownList
        Get
            Return FilterList
        End Get
    End Property

    Private Sub FilterList_SelectedIndexChanged(ByVal sender As System.Object, 
ByVal e As System.EventArgs) Handles FilterList.SelectedIndexChanged
        RaiseEvent DdlIndexChanged(sender, e)
    End Sub
End Class



------

Und in der form beispielsweise:

Private Sub ddlProIndexChanged(ByVal sender As Object, ByVal e As 
System.EventArgs) Handles FilterPro.DdlIndexChanged
        'Mach was...
End Sub

...wobei FilterPro eine Instanz meines UserControls ist.



-----Urspr�ngliche Nachricht-----
Von: Laszlo Pinter [mailto:[EMAIL PROTECTED] 
Gesendet: Mittwoch, 16. M�rz 2005 15:50
An: [email protected]
Betreff: AW: [Asp.net] Raiserevent

Hi,

Geht leider immer nocht nicht. Ich komme nicht bis zum Event im Debugger.
Das Event habe ich sichtbar gemacht.
Ich schaue weiter...

Gr�sse 

Laszlo
>>-----Urspr�ngliche Nachricht-----
>>Von: Tim Schmelter [mailto:[EMAIL PROTECTED] 
>>Gesendet: Mittwoch, 16. M�rz 2005 15:31
>>An: [email protected]
>>Betreff: AW: [Asp.net] Raiserevent
>>
>>
>>Hallo,
>>
>>sollte so gehen: 
>>
>>Sub ctlDDL_DropDownList1_SelectedIndexChanged(ByVal Sender As 
>>Object, ByVal e As EventArgs) Handles                         
>>      WebUserControl1.ctlDropDownList_SelectedIndexChanged
>>        Me.Label1.Text = DropDownList.DropDownListItemChanged
>>End Sub
>>
>>Wobei das Event sichtbar sein sollte ;)
>>Gru�,
>>Tim
>>
>>
>>
>>-----Urspr�ngliche Nachricht-----
>>Von: Laszlo Pinter [mailto:[EMAIL PROTECTED]
>>Gesendet: Mittwoch, 16. M�rz 2005 15:03
>>An: [email protected]
>>Betreff: [Asp.net] Raiserevent
>>
>>Hallo,
>>
>>Ich habe ein kleines Problemchen: mein Event feuert nicht 
>>bzw. wird gar nicht ausgel�st.
>>Ich habe eine nur Seite und ein usercontrol.
>>Control:
>>Public Class WebUserControl1
>>    Inherits System.Web.UI.UserControl
>>
>>    Event ctlDropDownList_SelectedIndexChanged(ByVal Sender 
>>As Object, ByVal e As EventArgs)
>>    Property DropDownListItemChanged() As String
>>        Get
>>            Return Me.DropDownList1.SelectedIndex
>>        End Get
>>        Set(ByVal Value As String)
>>            Me.DropDownList1.SelectedIndex = Value
>>        End Set
>>    End Property
>>    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As
>>System.EventArgs) Handles MyBase.Load
>>        If Not Page.IsPostBack Then
>>            Me.DropDownList1.Items.Insert(0, "erste")
>>            Me.DropDownList1.Items.Insert(1, "zweite")
>>            Me.DropDownList1.Items.Insert(2, "dritte")
>>            Me.DropDownList1.Items.Insert(3, "vierte")
>>            Me.DropDownList1.Items.Insert(4, "f�nfte")
>>            Me.DropDownList1.Items.Insert(5, "sechste")
>>            Me.DropDownList1.DataBind()
>>            Me.DropDownList1.AutoPostBack = True
>>        End If
>>    End Sub
>>    Private Sub DropDownList1_SelectedIndexChanged(ByVal 
>>sender As System.Object, ByVal e As System.EventArgs) Handles 
>>DropDownList1.SelectedIndexChanged
>>        RaiseEvent ctlDropDownList_SelectedIndexChanged(Me, 
>>EventArgs.Empty)
>>    End Sub
>>End Class
>>Seite:
>>Public Class WebForm1
>>    Inherits System.Web.UI.Page
>>
>>    Protected WithEvents DropDownList As 
>>WebApplication1.WebUserControl1
>>    Protected WithEvents Label1 As System.Web.UI.WebControls.Label
>>
>>    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As
>>System.EventArgs) Handles MyBase.Load
>>
>>    End Sub
>>    Sub ctlDDL_DropDownList1_SelectedIndexChanged(ByVal 
>>Sender As Object, ByVal e As EventArgs) Handles 
>>DropDownList.ctlDropDownList_SelectedIndexChanged
>>        Me.Label1.Text = DropDownList.DropDownListItemChanged
>>    End Sub
>>End Class
>>Sieht vielleicht jemand von euch etwas was ich nicht sehe? 
>>Funktioniert das �berhaupt?
>>Ich habe hier:
>>http://geekswithblogs.net/aferrandiz/archive/2004/11/14/14986.
>>aspx ein Beispiel gefunden mit einem Kalender der funktioniert auch.
>>
>>Danke und gr�sse
>>
>>Laszlo Pinter
>>
>> 
>>_______________________________________________
>>Asp.net Mailingliste, Postings senden an:
>>[email protected]
>>An-/Abmeldung und Suchfunktion unter:
>>http://www.glengamoi.com/mailman/listinfo/asp.net
>>
>>_______________________________________________
>>Asp.net Mailingliste, Postings senden an:
>>[email protected]
>>An-/Abmeldung und Suchfunktion unter:
>>http://www.glengamoi.com/mailman/listinfo/asp.net
>>
>>
_______________________________________________
Asp.net Mailingliste, Postings senden an:
[email protected]
An-/Abmeldung und Suchfunktion unter:
http://www.glengamoi.com/mailman/listinfo/asp.net

_______________________________________________
Asp.net Mailingliste, Postings senden an:
[email protected]
An-/Abmeldung und Suchfunktion unter:
http://www.glengamoi.com/mailman/listinfo/asp.net

Antwort per Email an