Toon posts:

[ASP.net/C#] - SelectedIndex DropDownlist in grid onthouden

Pagina: 1
Acties:
  • 121 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Ik dacht dat mijn probleem makkelijk op te lossen is, maar op Google en hier op GoT kon ik er niets over vinden.

Ik heb een Datagrid met boven elke kolom een dropdownlist met daarin alle mogelijke waarden in die kolom (bijv. als er in die kolom A, A, B staat, staat er in die dropdownlist A, B). Dit gaat goed, als de gebruiker bijv. A selecteert, worden alleen de rijen getoond waarin in die kolom een A staat. In Excel heb je dit ook.

Echter, hij onthoudt de selectedindex niet, hij gaat weer terug naar de eerste. Dus ik googlen en hier zoeken, maar ik kon hier niets over vinden.

Ik heb het nu zo opgelost dat wanneer de selectedindex verandert, er in een sessie-variabele een hashtable wordt bijgehouden met als Key de id van de dropdownlist en als Value de selectedindex. Probleem is om dit uit te lezen. Bij onitemdatabound heb ik oa het volgende staan:

code:
1
2
3
4
if(e.Item.Cells[0].Controls[0].GetType().ToString()=="System.Web.UI.WebControls.DropDownList") 
{
    ShowMessage("YES");
}


Echter, ik krijg dan een out of range exception (Specified argument was out of the range of valid values. Parameter name: index).

Ik weet echt niet hoe ik verder moet, ik zit hier al een paar uur (ja gisteren ook :+) mee te kloten.

Sorry als ik toch niet goed gezocht heb, maar op google krijg ik telkens dezelfde hits te zien en nergens zie ik iemand die dit probleem heeft opgelost.

  • whoami
  • Registratie: December 2000
  • Laatst online: 13:16
Debug je code eens om die exceptie op te lossen. OnItemDataBound wordt voor zover ik weet ook opgeroepen bij de headers van je grid, vandaar dat je die exceptie zult krijgen.

https://fgheysels.github.io/


Verwijderd

Topicstarter
Dat laatste stukje (waar ik dus die exceptie krijg) heb ik ook niet echt goed bekeken, ik vond mijn oplossing eigenlijk veel te ingewikkeld voor zo'n simpel probleem. Je denkt wel dat het op deze manier moet? Dan kan ik die code wel even aanpassen zodat het wel werkt.

  • whoami
  • Registratie: December 2000
  • Laatst online: 13:16
Wanneer 'vergeet' hij die index ? Na een postback ?

https://fgheysels.github.io/


Verwijderd

Topicstarter
Ja, ik raise een OnSelectedIndexChanged event; daarin wordt een RowFilter ingesteld op de Grid. Daarna is de selectedindex 'vergeten' en staat hij weer op de eerste.

  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 17:27

mulder

ik spuug op het trottoir

Je moet dat item ook opnieuw selecteren nadat je de selectbox na de postback weer gevult hebt.

oogjes open, snaveltjes dicht


Verwijderd

Topicstarter
Dat heb ik ook al geprobeerd... Ik heb een functie die een ICollection teruggeeft met de waarden voor de DropDownList. Ik wilde daarin ook de selectedindex aanpassen, maar dat lukte niet.

Ik heb nu wel de oplossing, waarom ik hier niet eerder op ben gekomen, geen idee. Ik heb een nieuwe functie GetSelected(string column) gemaakt die de index teruggeeft die geselecteerd is.

code:
1
2
3
4
5
6
7
8
9
10
11
12
public int GetSelected(string column) 
{
    int index =0;
    Hashtable indices = (Hashtable) Session["indices"];     
    if (indices != null) 
    {
        if (indices.Contains(column)) {
            index = System.Convert.ToInt32(indices[column]);
        }
    }
    return index;
}

Misschien moet ik wat minder koffie drinken dan had ik dit probleem gisteren al opgelost 8)7

[ Voor 42% gewijzigd door Verwijderd op 22-09-2005 10:45 . Reden: Opzoeken index wat efficienter gemaakt :) ]


  • cannibal
  • Registratie: Maart 2001
  • Laatst online: 16-04 20:03
Moet dit niet op te lossen zijn door de ViewState van deze controls aan te zetten (of staan deze aan?).
Ik dacht dat comboboxen dan hun selecteditem onthielden.

Verwijderd

Topicstarter
cannibal74 schreef op donderdag 22 september 2005 @ 10:43:
Moet dit niet op te lossen zijn door de ViewState van deze controls aan te zetten (of staan deze aan?).
Ik dacht dat comboboxen dan hun selecteditem onthielden.
Als ik EnableViewState op true zet, werkt het niet...

  • cannibal
  • Registratie: Maart 2001
  • Laatst online: 16-04 20:03
Met een simpele webform met dropdownlist, een paar items en autopostback,
(naar een selectedindexchanged-event) onthoud hij bij mij prima zijn geselecteerde waarde.

Ik weet niet of er nog andere controls invloed op je dropdown hebben en
of die datagrid bijv. nog invloed heeft, hier werkt ik eigenlijk nooit zo mee, anders dan in een control wat daar (ver) van afgeleid is.

Verwijderd

Topicstarter
Ik weet wel wat het probleem is... Runtime moet de dropdownlist gevuld worden, ik gebruik daarvoor de volgende code:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<asp:DropDownList ..... DataSource='<%# GetValues("issue_type") %>'/>

public ICollection GetValues(string column) 
{  
    Hashtable ht = new Hashtable();
    ht.Add("Alle", "Alle");
    DataSet ds = (DataSet) Session["IssuesSet"];
    foreach (DataRow dr in ds.Tables[0].Rows) 
    {
        string s = dr[column].ToString();
        if (!ht.Contains(dr[column].ToString())) 
        {
            ht.Add(s, s);
        };
    }
    return ht.Values;
}

Ik kan in de functie wel opvragen of het een postback is, maar wat zou ik dan moeten returnen...

Nu wordt dus bij elke postback de dropdownlist opnieuw gevuld, waardoor de selectedindex vergeten wordt.

[ Voor 14% gewijzigd door Verwijderd op 22-09-2005 11:03 ]


  • cannibal
  • Registratie: Maart 2001
  • Laatst online: 16-04 20:03
Waar vul je deze dropdown in de life-cycle van de pagina?
Dit zou je in de oninit moeten doen (of een event rond die tijd)
zodat bij het terug zetten van de postback gegevens deze waarde weer geselecteerd kan worden.

Verwijderd

Topicstarter
Daar had ik al aan gedacht... Maar oninit moet ik alle controls bij langs en de dropdownlists vullen, maar dat lijkt me een stuk lastiger.

  • cannibal
  • Registratie: Maart 2001
  • Laatst online: 16-04 20:03
Hoe bedoel je die zin?
Zit ergens een gekke constructie in.

De filter waarden voor de comboboxen zou je gewoon in de oninit moeten doen (weet niet hoe moeilijk dat is) en daarna in de onload (of onprerender) kun je dan op basis van de selectedid je filter actie uitvoeren en gegevens voor je datagrid ophalen.

Verwijderd

Topicstarter
Dit is best moeilijk... In de code zijn die DropDownLists niet bekend als variabele, die moet je mbv FindControl oid uit de DataGrid halen en dat is best lastig.

  • cannibal
  • Registratie: Maart 2001
  • Laatst online: 16-04 20:03
Als je deze bij het toevoegen aan de datagrid een duidelijk id geeft is dat toch geen probleem?
of als je de reference naar die dropdowns (je moet ze in de code toch toevoegen?) in een variable in je code opslaat werkt dat toch ook gewoon?

en op welk moment voeg je de dropdowns aan je datagrid toe?

Verwijderd

Topicstarter
cannibal74 schreef op donderdag 22 september 2005 @ 11:58:
Als je deze bij het toevoegen aan de datagrid een duidelijk id geeft is dat toch geen probleem?
of als je de reference naar die dropdowns (je moet ze in de code toch toevoegen?) in een variable in je code opslaat werkt dat toch ook gewoon?

en op welk moment voeg je de dropdowns aan je datagrid toe?
Ik geef ze inderdaad een duidelijk id mee, maar ik vind het nogal lastig om die items uit de datagrid te halen. Echter, je hebt wel gelijk dat dit een betere oplossing is.

En nee, je voegt ze niet aan de code toe... Alleen aan de aspx code en niet aan de aspx.cs code. In de aspx-code staat dit:

code:
1
2
3
4
5
6
7
8
9
10
11
12
<asp:DataGrid id="IssuesDataGrid" runat="server" Visible="False" AutoGenerateColumns="False" AllowSorting="True">
    <Columns>
        <asp:TemplateColumn>
            <HeaderTemplate>
                <b>Toegevoegd door</b>
                <asp:DropDownList OnSelectedIndexChanged=DropDownIndexChanged ID="add_by" Runat="server" AutoPostBack="True" SelectedIndex='<%# GetSelected("add_by") %>' DataSource='<%# GetValues("add_by") %>'/>
            </HeaderTemplate>
            <ItemTemplate>
                <asp:Label id="add_by_label" runat="server" Text='<%# DataBinder.Eval (Container.DataItem,"add_by") %>' />
            </ItemTemplate>
        </asp:TemplateColumn>
...

In de .cs-code is die DropDownList niet bekend, alleen de DataGrid. Ik zal eens proberen om die DropDownLists op te vragen, maar dat is best lastig...

[ Voor 20% gewijzigd door Verwijderd op 22-09-2005 12:15 ]


Verwijderd

Topicstarter
Ik heb het volgende al vaker geprobeerd, maar ik zal wel iets fout doen:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
private void IssuesDataGrid_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
    if (e.Item.ItemType == ListItemType.Header) 
    {
        try 
        {
            ShowMessage(e.Item.Cells[0].Controls[0].GetType().ToString());
        }
        catch 
        {
        }
    }
}

Ik krijg dus niets te zien (geen message). Zonder try-catch krijg ik index-out-of-range-exception. Volgens mij klopt dit wel en zou het in de headers met een DropDownList wat op moeten leveren.

FindControl kan ook wel, maar dan is het niet echt flexibel meer, aangezien er meerdere dropdownlists zijn. Dit kan ik wel weer in een array en dan mbv FindControl alle dropdownlists opvragen, maar dat wil ik dus niet eigenlijk.

  • cannibal
  • Registratie: Maart 2001
  • Laatst online: 16-04 20:03
Met zoiets in de oninit (of voor testen even ergens anders in de codebehind).

Control zoek = datagridcontrol.FindControl("add_by");

als zoek dan gevuld is, en dit idd (debuggen, watch) je dropdown is (wat wel zou moeten) dan kun je deze casten naar een dropdown en heb je je dropdown-reference.

  • cannibal
  • Registratie: Maart 2001
  • Laatst online: 16-04 20:03
Wat is er niet flexibel aan findcontrol, je hebt je aantal dropdowns toch ook gewoon vastliggen in de code?

  • whoami
  • Registratie: December 2000
  • Laatst online: 13:16
Verwijderd schreef op donderdag 22 september 2005 @ 12:24:
Ik heb het volgende al vaker geprobeerd, maar ik zal wel iets fout doen:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
private void IssuesDataGrid_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
    if (e.Item.ItemType == ListItemType.Header) 
    {
        try 
        {
            ShowMessage(e.Item.Cells[0].Controls[0].GetType().ToString());
        }
        catch 
        {
        }
    }
}
Heb je wel een control op die header ofzo ?
Debug je code eens op een goede manier trouwens; maak eens gebruik van breakpoints en watches ipv op deze manier te debuggen.

Owja, die struisvogel-techniek is ook iets wat je best zo snel mogelijk afleert ? (Hoezo, er is een fout gebeurt.... Ik zie toch niks ? :? )

https://fgheysels.github.io/


Verwijderd

Topicstarter
cannibal74 schreef op donderdag 22 september 2005 @ 12:56:
Wat is er niet flexibel aan findcontrol, je hebt je aantal dropdowns toch ook gewoon vastliggen in de code?
Als ik dan een dropdownlist toevoeg, moet ik dat ook weer toevoegen aan die databound-event. Het is flexibeler lijkt me om alle controls te checken op type en als het een dropdownlist is, dan een actie uit te voeren. Snap je?

Thanx voor de support.

  • cannibal
  • Registratie: Maart 2001
  • Laatst online: 16-04 20:03
Om het geheel gewoon beetje netjes te proggen zou ik ook meer het volgende doen.

De dropdownboxen runtime in de codebehind toevoegen en vullen.
En niet met van die (imo) vieze asp haken een collection ophalen uit je codebehind om je combo's te vullen.

C# code in je aspx is gewoon veel te moeilijk en lastig te debbuggen, levert ook meteen de helft minder compiler-warnings en errors op.

En als je over inflexibel praat, praat je dus ook vooral over:
control.controls[0].item[0].blah[0] etc.
Zodra er dan ook maar iets wijzigd in je control-structuur en volgorde, klapt alles.

Het is maar wat advies, maar .net vereist toch wel een wat andere insteek dan het oude asp programmeren, waar alles in een script-file stond.

Verwijderd

Topicstarter
whoami schreef op donderdag 22 september 2005 @ 13:01:
[...]

Heb je wel een control op die header ofzo ?
Debug je code eens op een goede manier trouwens; maak eens gebruik van breakpoints en watches ipv op deze manier te debuggen.

Owja, die struisvogel-techniek is ook iets wat je best zo snel mogelijk afleert ? (Hoezo, er is een fout gebeurt.... Ik zie toch niks ? :? )
Laat maar, die code was niet goed :).

Klopt, showmessage is ook niet alles, als je nl. een exceptie krijgt laat ie het niet zien :).

Hoe bedoel je struisvogel-techniek? Je bedoelt die lege catch? Tja, ik had het ff snel in elkaar gezet of hij uberhaupt een dropdownlist zou vinden, daarom deed ik dit. Slaat nergens op nee.

Verwijderd

Topicstarter
cannibal74 schreef op donderdag 22 september 2005 @ 13:06:
Om het geheel gewoon beetje netjes te proggen zou ik ook meer het volgende doen.

De dropdownboxen runtime in de codebehind toevoegen en vullen.
En niet met van die (imo) vieze asp haken een collection ophalen uit je codebehind om je combo's te vullen.

C# code in je aspx is gewoon veel te moeilijk en lastig te debbuggen, levert ook meteen de helft minder compiler-warnings en errors op.

En als je over inflexibel praat, praat je dus ook vooral over:
control.controls[0].item[0].blah[0] etc.
Zodra er dan ook maar iets wijzigd in je control-structuur en volgorde, klapt alles.

Het is maar wat advies, maar .net vereist toch wel een wat andere insteek dan het oude asp programmeren, waar alles in een script-file stond.
Klopt, dit is ook niet netjes. Ik heb al een goede url gevonden:

http://www.codeproject.co...NET_DataGrid_creation.asp

Kost veel tijd om alles om te schrijven, maar dat is inderdaad veel netter. Maar ja, het werkt nu...

Verwijderd

Topicstarter
Met die url die ik gaf lukte het me niet echt, heb het dus toch via databind gedaan:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
private void IssuesDataGrid_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
    if ((e.Item.ItemType == ListItemType.Header)) 
    {
        System.Web.UI.WebControls.DropDownList ddl = e.Item.FindControl("add_by") as        DropDownList;
        if (ddl != null) 
        {
            ddl.DataSource = this.GetValues("add_by");
            ddl.DataBind();
            ddl.AutoPostBack=true;
        }
    }
}

Nu moet ik nog zorgen dat deze alleen oninit wordt aangeroepen, dus niet bij een postback. Is dan de enige manier om te checken op de waarde van Page.IsPostBack??

Dat werkt dus ook niet, dan wordt de DDL helemaal niet gevuld... Ik begin echt gek te worden zo 8)7

Kan nu deze regel er wel bij zetten: ddl.SelectedIndex = GetSelected("add_by");
maar dan is het nog steeds niet netjes. Wat irritant :(.

[ Voor 20% gewijzigd door Verwijderd op 23-09-2005 10:47 ]


  • cannibal
  • Registratie: Maart 2001
  • Laatst online: 16-04 20:03
Klein voorbeeld zo als het bij mij werkt...
(heb geen datagrid er omheen gewerkt)

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
/// <summary>
    /// Summary description for WebForm1.
    /// </summary>
   public class WebForm1 : System.Web.UI.Page
   {
      protected System.Web.UI.WebControls.DropDownList test;
   
      private void Page_Load(object sender, System.EventArgs e)
      {
         int i=3;
      }

      override protected void OnInit(EventArgs e)
      {
         // Vullen Combobox.
         ArrayList arLijst = new ArrayList();
         arLijst.Add(new KeyValue("Key1", "Value1"));
         arLijst.Add(new KeyValue("Key2", "Value2"));
         arLijst.Add(new KeyValue("Key3", "Value3"));
         arLijst.Add(new KeyValue("Key4", "Value4"));

         test.DataSource = arLijst;
         test.DataTextField = "Key";
         test.DataValueField = "Value";
         test.DataBind();

         InitializeComponent();
         base.OnInit(e);
      }
        
      /// <summary>
      /// Required method for Designer support - do not modify
      /// the contents of this method with the code editor.
      /// </summary>
      private void InitializeComponent()
      {    
         this.test.SelectedIndexChanged += new System.EventHandler(this.test_SelectedIndexChanged);
         this.Load += new System.EventHandler(this.Page_Load);
      }

      private void test_SelectedIndexChanged(object sender, System.EventArgs e)
      {
         int selected = test.SelectedIndex;
         int i = 3;
      }
    }

   public class KeyValue
   {
      private string _Key;
      private string _Value;

      public string Key
      {
         get { return _Key; }
         set { _Key = value; }
      }

      public string Value
      {
         get { return _Value; }
         set { _Value = value; }
      }

      public KeyValue(string prmKey, string prmValue)
      {
         Key = prmKey;
         Value = prmValue;
      }
   }


En in webform:

ASP:
1
2
3
4
5
6
7
8
9
10
  <body MS_POSITIONING="GridLayout">

    <form id="Form1" method="post" runat="server">
    
    <asp:dropdownlist id="test" runat="server" autopostback="True"></asp:dropdownlist>
    
    
    </form>
    
  </body>

[ Voor 11% gewijzigd door cannibal op 23-09-2005 11:08 ]


Verwijderd

Topicstarter
Ik heb het ongeveer zo geprobeerd:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
private void FillDataGrid (string projectID)
{
    DataSet ds = main.GetIssueList(projectID);

    test = new DropDownList();
    test.DataSource = GetValues("add_by");
    test.EnableViewState=true;
    test.AutoPostBack=true;
    test.SelectedIndexChanged += new EventHandler(DropDownIndexChanged);
    test.DataBind();

    IssuesDataGrid.DataSource=ds.Tables[0].DefaultView;
    IssuesDataGrid.DataBind();
}

Deze methode wordt aangeroepen bij het tonen van de pagina, als de gebruiker op de button klikt die de panel showt met deze datagrid.

In de ASPX-code heb ik het volgende staan voor de tweede kolom:

code:
1
2
3
4
5
6
7
<asp:TemplateColumn>
    <HeaderTemplate>
    </HeaderTemplate>
    <ItemTemplate>
        <asp:Label id="add_by_label" runat="server" Text='<%# DataBinder.Eval (Container.DataItem,"add_by") %>' />
    </ItemTemplate>
</asp:TemplateColumn>

En in de ItemDataBound-event:

code:
1
2
3
4
if ((e.Item.ItemType == ListItemType.Header)) 
{
    e.Item.Cells[1].Controls.Add(test);
}

Echter, dit werkt niet. Bij de eerste keer tonen van de datagrid is alles oke. Als ik iets selecteer uit die dropdownlist is bij de Postback de hele dropdownlist verdwenen :? Een breakpoint op die regel vertelt me ook dat hij nooit binnen de if-statement komt.

Als ik iets selecteer uit een andere kolom is bij de Postback de dropdownlist leeg...

Eigenlijk moet ik bij het createn van de datagrid de dropdownlist toevoegen, ik denk dat dat de enige oplossing is?!

  • cannibal
  • Registratie: Maart 2001
  • Laatst online: 16-04 20:03
Dat zou ik doen ja.
Dat ItemDataBound heb ik verder niet uitgezocht, maar ik zou gewoon die combobox aanmaken dan in de oninit en daar elke keer opnieuw toevoegen aan de datagrid en vullen.

Verwijderd

Topicstarter
Ik zou het wel zo willen doen, maar het werkt dus niet. Tevens is het dan niet veel anders als de code die ik eerst had (wel beter afgescheiden, maar goed). Ik moet dan nog steeds bijhouden welke item selected is.

Tevens werkt het nu niet. Als ik een item in de dropdown test selecteer, wordt de event geraised en de pagina opnieuw geladen. Vreemd genoeg wordt dan de dropdown niet opnieuw toegevoegd, de headercell blijft gewoon leeg :?.

Bedankt nog trouwens voor de support :>

  • cannibal
  • Registratie: Maart 2001
  • Laatst online: 16-04 20:03
Maar in welke plaats in de codebehind voeg je de combobox toe dan?

Verwijderd

Topicstarter
In de ItemDataBoundEvent. Hij checkt dan of het een Header is en zo ja, voegt hij aan de 2e kolom een DropDownList toe aan de Controls. Het 3e stukje code in 2 posts van mij terug. Ik snap niet waarom dat na een PostBack opeens niet meer gebeurt als ik de selectedIndex van die dropdownlist verander.

Als ik de SelectedIndex van een andere DropDownList verander (die nog op de 'oude' manier zijn toegevoegd), wordt de desbetreffende DropDownList wel toegevoegd maar dan is hij opeens leeg. Ik zou hem natuurlijk dan weer kunnen vullen, maar dan heb ik weer hetzelfde probleem dat de selectedindex weer op 0 staat.

[ Voor 55% gewijzigd door Verwijderd op 23-09-2005 13:41 ]


  • cannibal
  • Registratie: Maart 2001
  • Laatst online: 16-04 20:03
Maar kun je de headers van een datagrid niet gewoon rechtstreeks aanspreken (vanuit bijv. de oninit) en dan de comboboxen toevoegen?

Verwijderd

Topicstarter
cannibal74 schreef op vrijdag 23 september 2005 @ 13:56:
Maar kun je de headers van een datagrid niet gewoon rechtstreeks aanspreken (vanuit bijv. de oninit) en dan de comboboxen toevoegen?
Niet dat ik weet. Je kunt de kolommen wel opvragen (dtGrid.Columns), maar daar is geen property voor de header :'(.

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 27-04 18:17

gorgi_19

Kruimeltjes zijn weer op :9

Je moet ook die column casten naar een boundcolumn, templatecolumn of whatever je ook gebruikt; dan heb je die zut opeens wel beschikbaar.

[ Voor 19% gewijzigd door gorgi_19 op 23-09-2005 14:01 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
gorgi_19 schreef op vrijdag 23 september 2005 @ 14:00:
Je moet ook die column casten naar een boundcolumn, templatecolumn of whatever je ook gebruikt; dan heb je die zut opeens wel beschikbaar.
|:( |:( Ik zal dat even proberen :)

Het werkt dus wel, maar ik zal nog steeds de selectedindex moeten zetten. Dit genereert veel meer code, dus ik laat het mooi op de oude manier. Thanx voor alle support!

[ Voor 170% gewijzigd door Verwijderd op 23-09-2005 14:13 ]


  • cannibal
  • Registratie: Maart 2001
  • Laatst online: 16-04 20:03
Waarom moet je dan de selectedindex nog zetten? die zou dan gewoon via de viewstate moeten lopen, dus die onthoud de combobox zelf.

Verwijderd

Topicstarter
cannibal74 schreef op vrijdag 23 september 2005 @ 14:45:
Waarom moet je dan de selectedindex nog zetten? die zou dan gewoon via de viewstate moeten lopen, dus die onthoud de combobox zelf.
Als ik de dropdown elke weer opnieuw vul (wat dus moet, aangezien hij leeg is na 1 refresh), vergeet hij de selectedindex ook lijkt me, dat probleem heb ik nu ook...

  • cannibal
  • Registratie: Maart 2001
  • Laatst online: 16-04 20:03
nee, dat heb je pas als je het later dan in de oninit doet.
Na de oninit zorgt het .net framework ervoor dat de gevens van client/server weer gesynced worden, maar dan moeten serverside natuurlijk wel die (zelfde!!) gegevens aanwezig zijn.
Pagina: 1