celiske
Legacy Member
Ik ben bezig met een project in ASP.net en C#. De situatie is als volgt:
Ik heb een gridview met enkele kolommen en ook een kolom met een linkbutton. Als ik op deze linkbutton klik zou er een popup moeten verschijnen met info over de geselecteerde rij. (ik werk dus niet met de standaard select button, maar werk met de onclick methode van de button). Maar hier duiken dus vele problemen op. Ik vang nl. 2 events van de gridview op: OnSelectedIndexChanged (voor de geselecteerde rij te weten te komen) en OnRowDataBound (voor de popup te openen). Mijn probleem is dat eerst de rowdatabound wordt uitgevoerd en daarna pas de selectedindexchanged (eerst wordt datagrid gevuld, daarna pas geklikt) en zo krijg ik dus nooit mijn geselecteerde rij in de popup. Mss heel ingewikkelde uitleg voor wat het is, en mss bestaat er een veel simpelere manier..
hier stukjes code:
Alvast bedankt
Ik heb een gridview met enkele kolommen en ook een kolom met een linkbutton. Als ik op deze linkbutton klik zou er een popup moeten verschijnen met info over de geselecteerde rij. (ik werk dus niet met de standaard select button, maar werk met de onclick methode van de button). Maar hier duiken dus vele problemen op. Ik vang nl. 2 events van de gridview op: OnSelectedIndexChanged (voor de geselecteerde rij te weten te komen) en OnRowDataBound (voor de popup te openen). Mijn probleem is dat eerst de rowdatabound wordt uitgevoerd en daarna pas de selectedindexchanged (eerst wordt datagrid gevuld, daarna pas geklikt) en zo krijg ik dus nooit mijn geselecteerde rij in de popup. Mss heel ingewikkelde uitleg voor wat het is, en mss bestaat er een veel simpelere manier..
hier stukjes code:
Code:
protected void grdEvenementen_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
LinkButton button = (LinkButton)e.Row.FindControl("LinkButton1");
button.Attributes["OnClick"] = GetOpenPopupWindowScript(400, 400, url, "Inschrijven");
}
}
-----------------------------------
protected void grdEvenementen_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
LinkButton ctrl = (LinkButton)e.Row.FindControl("LinkButton1");
url = "Inschrijven.aspx?EvenementID=" + id;
// GetOpenPopupWindowScript = functie voor popup te openen..
ctrl.Attributes["OnClick"] = GetOpenPopupWindowScript(400, 400, url, "Inschrijven");
}
}
-----------------------------------
protected void grdEvenementen_OnSelectedIndexChanged(Object src, EventArgs e)
{
GridViewRow row = grdEvenementen.SelectedRow;
grdEvenementen.SelectedRow.BackColor = System.Drawing.Color.LightGray;
id = grdEvenementen.SelectedDataKey.Value.ToString();
}
Alvast bedankt
