Hej, Jonas, Tack ska du ha, jag fick det att fungera!Server-Click på rad i DataGrid?
Kan man göra så att en EventHandler körs när man klickar på en rad i en DataGrid, och så att man kan få med exempelvis ID (från en kolumn, databas-ID)?
Det jag tänker mig är en en datagrid som man döljer vid klickningen, och så läser man information via ID:t och lägger in det i lite olika Labels eller Textboxes, och sedan visas en PlaceHolder för dessa nya värden, utan att själva sidan behöver redirectas med querystring.
Tack på förhand!Sv: Server-Click på rad i DataGrid?
Jepp det kan du göra. Bästa sättet kanske är att sätta en onMouseClick på tr? om det är raden du vill klicka på, där du då vid ItemCreated eventet lägger till detta attribut till raden och nyttjar
Page.GetPostBackEventReference(<control som skall triggas ex me >, <argument du vill ha med ditt id? >) i ditt anrop.
SKriver du VB .Net eller C#?
Du måste lägga till lite saker på din sida. ex:
VB .net
<code>
Sub RaisePostBackEvent(eventArgument As String) Implements IPostBackEventHandler.RaisePostBackEvent
...här är string ditt id eller argument du väljer att skicka...
</code>
C#
<code>
public void RaisePostBackEvent(string eventArgument)
{
......
}
</code>
</code>
Detta är den metod som kommer att utföras när du trycker på din rad.
Sidan måste även ärva IPostBackEventHandler för att fungera.
Så:
1... SÄtt IPostBackEventHandler på sidan
2... Lägg till RaisePostBackEvent metoden på sidan.
3... Lätt till ditt script för varje rad med unikt id som argument.
eg.
<code>
<row>.Attributes("onmouseClick") = "javascript:" + + Page.GetPostBackEventReference(this/me, id) ;
</code>
Mvh JohanSv:Server-Click på rad i DataGrid?
Ska dock vara OnMouseDown, OnMouseClick fungerar inte.