ArrayListen arrayList1 har från början ett visst antal element. DataGrid:en dataGrid1.DataSource tilldelas arrayList1 och det funkar smärtfritt. Det första som slår mig Tråkigt nog hade jag inte gjort samma lättkorrigerade tryckfel i koden. Njae, bry dig inte om postback, det är nog ett web-fenomen :) problemet är för att arraylister inte implementerar ibindinglist och kan därför inte notifiera datagridden när något ändras i listan.. Nej, jag säger bara åt DataGriden att ta arrayList1 som DataSource. Om arrayList1 har t. ex. 5 element så visar DataGriden alla elementen automatiskt. Men som sagt, detta är fallet bara första gången DataGriden tilldelas. Läs det Roger skrev ovan, det lät vettigare än vad jag har att komma med :) Dunkar även om man sätter en Tablestyle. Jag hade samma problem med en arraylist med objekt bunden till en Datagrid och att man ändrade arraylisten någonstans. Numera så sätter jag bara om tablestyle utifall jag har anropat en funktion som kan påverka arraylistenUppdatera-DataGrid-tråk
dataGrid1.DataSource = arrayList1;
dataGrid4.Refresh();
I runtime ändras antalet element i arrayList1 och jag försöker uppdatera dataGrid1 enligt ovan. Problemet är att ingenting händer. Kan det bero på att antalet rader i dataGrid1 på något sätt är låst och hur låser man i så fall upp det? Jag har kontrollerat att arrayList1 verkligen förändras och att kodsnutten ovan exikveras.Sv: Uppdatera-DataGrid-tråk
<code>
dataGrid1.DataSource = arrayList1;
dataGrid4.Refresh();
</code>
Ändra det till:
<code>
dataGrid1.DataSource = arrayList1;
dataGrid1.Refresh();
</code>
Kan vara skrivfel här. Titta annars på hur postback är satt. Är inte så bra på win-applikationer än tyvärr.Sv:Uppdatera-DataGrid-tråk
Hur ändrar man postback? Vad är det?Sv: Uppdatera-DataGrid-tråk
Men sätter du ett fast värde på datagriden efter hur många poster du har i arraylist från början? I så fall måste du ändra värdet när du gör uppdatering också.Sv: Uppdatera-DataGrid-tråk
anledningen att det inte händer något när du sätter datasource= arraylist1 igen är att den känner av att du redan jobbar mot den listan och ignorerar anropet...
ändra till:
dataGrid1.DataSource = null;
dataGrid1.DataSource = arrayList1;
eller skriv en egen lista som stödjer ibindinglist så kommer det att fungera..
//RogerSv:Uppdatera-DataGrid-tråk
Som du säger, om antalet element är låst så borde man ändra det innan uppdateringen. Jag har rotat en del, men hittar inte var man ändrar detta. Har du koll på var man ändrar den egenskapen?Sv: Uppdatera-DataGrid-tråk
Sv: Uppdatera-DataGrid-tråk
<code>
dgPriceLists.TableStyles.Clear();
dgPriceLists.TableStyles.Add(GetTableStyle());
</code>