Hej! Inte säker på att jag förstått vad du menar men du kanske kan se till så att du tömmer tabellen först i den funktion som sen populerar tabellen? I GetSub... metoden kör jag en SQL fråga innan jag bygger upp tabbeln. Så jag tycker att den borde uppdateras eftersom jag hämtar från databasen innan jag skriver ut tabelen. Om du vill prova igen med Datagriden.PRoblem med autopostback och initsiering av en metod
jag har ett problem som jag måste komma runt.
På en sida bygger jag upp en tabell dynamikt med koden typ:
<code>
TableRow row = new TableRow();
TableCell cell = new TableCell();
TableCell idcell = new TableCell();
idcell.Width = 245;
idcell.Text =xSubDesc;
idcell.HorizontalAlign = HorizontalAlign.Left;
row.Cells.Add(idcell);
</code>
Denna laddar jag när sidan visa i page_load metoden via metoden GetSubcriptions();.
I en av cellerna bygger jag en imagebutton på följande sätt:
<code>
ImageButton img = new ImageButton();
img.ImageUrl= "Image/edit_smal.gif";
img.CommandArgument = xID.ToString();
img.Click += new System.Web.UI.ImageClickEventHandler(this.ImageButtonClick);
TableCell editscell = new TableCell();
editscell.Width = 30;
editscell.HorizontalAlign = HorizontalAlign.Center;
editscell.Controls.Add(img);
row.Cells.Add(editscell);
</code>
när man klickar på imagebutton som kallas edit så kallas följande metod:
<code>
private void ImageButtonClick(object sender, System.Web.UI.ImageClickEventArgs e)
</code>
nu till mitt problem. För att jag skall kunna exikvera metoden ImageButtonClick som kallas via klick på imagebitton edit så måste jag kalla på metoden GetSubcriptions(); varje gång sidan ladda enl följande:
<code>
private void Page_Load(object sender, System.EventArgs e)
{
// Put user code to initialize the page here
if(Page.IsPostBack == false)
{
pnlNewSubs.Visible = false;
}
LoadTableHead();
GetSubcriptions();
}
</code>
I normala fall hade jag lagt metoden i postback false. Men Om jag lägger metoden i if-satse så exikveras inte metoden:<code>
private void ImageButtonClick(object sender, System.Web.UI.ImageClickEventArgs e)
</code>
Inget händer.
Problemet jag får med att lägga GetSubcriptions(); på det sättet jag gör så kan jag inte kalla på GetSubcriptions(); från andra metoder för då skrivs tabellen ut dubbelt. Mitt syfte med det är ju vid uppdareing av data på en rad så vill jag ladda tabellen i gen för att visa ändringarna.
Detta har fått till följd att jag endast skriver ut tabellen när sidan laddas, vilken den gör vid varje postback också, och då skrivs inte mina uppdateringar ut i tabellen.
Alltså:
Läggar metoden GetSubcriptions(); som skriver ut tabellen i if-stasten i page_load så kan jag inte kalla på metoden ImageButtonClick. Om jag lägger den utanför så kan jag inte kalla på GetSubcriptions() från andra metoder för att uppdatera tabell. då skrivs den ut dubbelt.
Hoppas ni förstår vad jag menar.
Så hur skall jag lösa detta?
/tyronneSv: PRoblem med autopostback och initsiering av en metod
Sen är jag lite undrande till varför du inte använder dig av till exempel en repeater eller datagrid för det här ändamålet?Sv:PRoblem med autopostback och initsiering av en metod
Okunskap är nog svaret. Jag har använt datagrid förut men jag vill kunna lägga in länkar i bland posterna. Jag har inte hitta några bra exempel hur jag löser detta så därför bygger jag tabellen själv i stället. Repeatern har jag inte ens kollat på
Fich hjälp av pelle hur jag skulle göra och jag fick svaret att skriva ut tabellen så här. Tydligen gör han det i forumet. Kanske missuppfattade honom.
/TyronneSv: PRoblem med autopostback och initsiering av en metod
Använd <b>Property Buildern</b> som finns längst ner (som en länk) i Datagridens Properties.
Där finns en hel del som du kan fixa och greja med, efter eget huvud.
Under Columns kan du välja bl.a. HyperLink Column.
//Håkan