Ist leider etwas unübersichtlich.

private void bearbeiten_PreRender(object sender, System.EventArgs e)
{
        if(!IsPostBack)
        {
                if(this.Visible)
                {
                        if(ViewState["neuerReferenztyp"] == null)
                                ViewState["neuerReferenztyp"] = "";

                        global.setText(this, 
Int32.Parse(Session["Sprache"].ToString()));
                        for(int i = 0; i < lstReferenzTypen123456.Items.Count; 
i++)
                                if(lstReferenzTypen.Items[i].Text == 
ViewState["neuerReferenztyp"].ToString())
                                        lstReferenzTypen.SelectedIndex = i;

                        getDaten();
                        if(ViewState["neuerReferenztyp"].ToString() == "")
                        {
                                getReferenzTypen();
                        }
                }
        }
} 

Die Daten für die RBL wird in der global.setText() erledigt. Darin werden für 
alle Komponenten die Beschriftungen festgelegt.
Hier nur der relevante Teil.

public static void setText(System.Web.UI.UserControl UC, int Sprache)
{
        // Variablendeklaration
        VR2005_v3_0.BL.BL myBL = new VR2005_v3_0.BL.BL();
        RadioButtonList myRadioButtonList = new RadioButtonList();

        string Seite = UC.GetType().FullName;
        Seite = Seite.Substring(Seite.IndexOf(".")+1).Replace("_ascx", ".ascx");
        ArrayList Text = new ArrayList();

        // Datenbankverbindung öffnen
        System.Data.SqlClient.SqlConnection myConn = myBL.OpenConn();

        // Inhalt der Controls wird aus der DB ausgelesen
        foreach(System.Web.UI.Control c in UC.Controls) // foreach = für jedes 
Elemet in ...
        {
                switch(c.GetType().FullName)
                {
                        case "System.Web.UI.WebControls.RadioButtonList":
                                myRadioButtonList = (RadioButtonList)c;
                                if(myRadioButtonList.Items.Count == 0)
                                {
                                        Text = myBL.getSeiteninhalt(myConn, 
myRadioButtonList.ID, Sprache, Seite);
                                        for(int i = 0; i < Text.Count; i++)
                                        {
                                                ListItem myItem = new 
ListItem(Text[i+1].ToString(), Text[i].ToString());
                                                
myRadioButtonList.Items.Add(myItem);

                                                if(Text[i+3].ToString() != "" 
&& Text[i+4].ToString() != "")
                                                        myRadioButtonList = 
myBL.getTooltipp(myRadioButtonList, Text[i+3].ToString(), Text[i+4].ToString());

                                                i+=4;
                                        }
                                }
                                break;
                        default:
                                break;
                }
        }

        // Datenbankverbindung schließen
        myBL.CloseConn(myConn);
}

Hier noch die Methode, die beim ändern des Index aufgerufen wird.

private void lstReferenzTypen_SelectedIndexChanged(object sender, 
System.EventArgs e)
{
        ViewState["neuerReferenztyp"] = lstReferenzTypen.SelectedItem.Text;
}


Hoffe es ist nicht zu umständlich geschrieben...


-----Ursprüngliche Nachricht-----
Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Im Auftrag von Daniel Wasser
Gesendet: Donnerstag, 14. Juli 2005 11:02
An: [email protected]
Betreff: Re: AW: [Asp.net] Problem mit RadioButtonList

Poste doch mal den Code fuers befüllen
und deine PreRender

Grüße, Daniel

Puehler, Pierre wrote:
> RBL sind nach PostBack immernoch gefüllt.
> 
> Habe if(this.isPostBack) vor das Befüllen der RBL geschrieben und wird somit 
> nur einmal ausgeführt.
> 
> -----Ursprüngliche Nachricht-----
> Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] 
> Im Auftrag von Pessner, Andreas
> Gesendet: Donnerstag, 14. Juli 2005 10:39
> An: [email protected]
> Betreff: AW: [Asp.net] Problem mit RadioButtonList
> 
> Damit hat er ein Problem mit dem ViewState! Die Werte die in der RBL stehen - 
> werden somit nicht gemerkt - und verfallen somit nach dem Postback! 
> 
> Haste mal kontrolliert - ob die RBL noch nach dem Postback gefüllt 
> sind? (aber schalte Deine DataBind Methode aus - also mit if 
> (Page.isPostBack) behandeln
> 
> -----Ursprüngliche Nachricht-----
> Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] 
> Im Auftrag von Puehler, Pierre
> Gesendet: Donnerstag, 14. Juli 2005 08:38
> An: [email protected]
> Betreff: AW: [Asp.net] Problem mit RadioButtonList
> 
> In SelectedItem.Text steht immer der Name des ersten Eintrags, unabhängig 
> davon was ich ausgewählt habe. 
> 
> -----Ursprüngliche Nachricht-----
> Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] 
> Im Auftrag von Pessner, Andreas
> Gesendet: Donnerstag, 14. Juli 2005 08:32
> An: [email protected]
> Betreff: AW: [Asp.net] Problem mit RadioButtonList
> 
> Dann kontrolliere mal was in:
> 
> blubb.SelectedItem.Text;
> 
> steht!
> 
> Entweder Debuggen - oder schneller per 
> Response.Write(blubb.SelectedItem.Text);
> 
> -----Ursprüngliche Nachricht-----
> Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] 
> Im Auftrag von Puehler, Pierre
> Gesendet: Donnerstag, 14. Juli 2005 08:29
> An: [email protected]
> Betreff: AW: [Asp.net] Problem mit RadioButtonList
> 
> Ich befülle die Komponente wie schon gesagt erst im PreRender, der erst nach 
> dem SelectedIndexChanged ausgeführt wird.
> Deswegen verwirrt es mich auch ein wenig.
> 
> Gruß,
> Pierre
> 
> -----Ursprüngliche Nachricht-----
> Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] 
> Im Auftrag von Pessner, Andreas
> Gesendet: Donnerstag, 14. Juli 2005 08:22
> An: [email protected]
> Betreff: AW: [Asp.net] Problem mit RadioButtonList
> 
> Das passiert im Normalfall dann - wenn Deine Befüllungsroutine drüber geht!
> 
> Damit es richtig funktioniert musste 1. den ViewState an haben, und 2. darf 
> Dein DataBinding nur beim ersten Aufruf erfolgen!!!
> 
> Das ereichst Du indem Du mit!
> 
> if (!IsPostBack) {
>           RadioButtonList1.DataSource = CreateDataSource();
>           RadioButtonList1.DataTextField="StringValue";
>           RadioButtonList1.DataValueField="CurrencyValue";
>           RadioButtonList1.DataBind();
>        }
> 
> Arbeitest!
> 
> Alles andere findest Du hier:
> ms-help://MS.NETFrameworkSDKv1.1.DE/cpref/html/frlrfsystemwebuiwebcont
> rolslistcontrolclassonselectedindexchangedtopic.htm
> 
> -----Ursprüngliche Nachricht-----
> Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] 
> Im Auftrag von Puehler, Pierre
> Gesendet: Mittwoch, 13. Juli 2005 14:37
> An: [email protected]
> Betreff: [Asp.net] Problem mit RadioButtonList
> 
> Hi,
> 
> habe ein Problem mit dem Umgang mit einer RadioButtonList.
> Ich habe meiner Webanwendung, eine Seite auf der sich eine DropDownList und 
> eine RadioButtonList befindet.
> 
> Je nach Auswahl in der DropDownList wird aus der DB gelesen, welcher Punkt 
> der RadioButtonList ausgewählt sein soll.
> Dies wird im PreRender erledigt und somit nach z.B. dem SelectedIndexChanged 
> ausgeführt.
> 
> Wenn ich nun in der RadioButtonList einen anderen Eintrag auswähle, wird der 
> SelectedIndexChanged-Event gefeuert. Dieser jedoch liest anscheinend den 
> SelectedItem nicht richtig aus. Es ist immer der erste Eintrag danach 
> markiert.
> 
> Ich habe euch mal unten den Quellcode meines SelectedIndexChanged 
> aufgeschrieben.
> 
> Code:
> private void myRadioButtonList_SelectedIndexChanged(object sender, 
> System.EventArgs e) {
>   RadioButtonList blubb = (RadioButtonList)sender;
>   ViewState["neuerReferenztyp"] = blubb.SelectedItem.Text; }
> 
> 
> Hoffe es kann mir einer von euch helfen, oder zumindest Tipps geben, damit 
> ich die Lösung finde...
> 
> Gruß,
> Pierre
> _______________________________________________
> 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
> _______________________________________________
> 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
_______________________________________________
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