Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Problem med click eventet för en datagrid

Postades av 2003-04-21 21:17:35 - Martin Berlin, i forum asp.net generellt, Tråden har 11 Kommentarer och lästs av 1064 personer

Jag skulle vilja ha en lite förklaring hur man ska gå tillväga för att fånga upp vilken rad man klickar på i en datagrid för webforms.

För winforms gjorde följande:
Gick in i properties för datagrid1. Valde att visa händelser. Skrev in ett namn i Action-->Click, i ClickHändelsen skrev jag följande kod:
<code>
int rad =(dataGrid1.CurrentCell.RowNumber);
</code>


Svara

Sv: Problem med click eventet för en datagrid

Postades av 2003-04-22 08:44:09 - Tomas Lundgren

Kan den här hjälpa dig kanske?

<code>
Function GetSelectedIndex(ByVal CID As String) As Integer
Dim iLoop As Integer
Dim dt As DataTable = ddlDataSet.Tables("Categories")
For iLoop = 0 To dt.Rows.Count - 1
If Int32.Parse(CID) = Int32.Parse(dt.Rows(iLoop)("CategoryID")) Then
Return iLoop
End If
Next iLoop
End Function
</code>


Svara

Sv: Problem med click eventet för en datagrid

Postades av 2003-04-22 09:03:13 - Martin Berlin

Jag vill kunna fånga upp raden jag klickar på direkt. Det ska inte behövas en loop.
Jag använder mig av C#.


Svara

Sv: Problem med click eventet för en datagrid

Postades av 2003-04-22 10:22:22 - Tomas Lundgren

Gör såhär då.

<code>
<asp:ButtonColumn Text="Select" CommandName="Select"></asp:ButtonColumn>
</code>


<code>
Private Sub DataGrid1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DataGrid1.SelectedIndexChanged
Label1.Text = "Du valde " & DataGrid1.SelectedItem.Cells(1).Text
Label2.Text = "Rad " & DataGrid1.SelectedIndex
End Sub
</code>

Kodar själv i VB så du får översätta själv :-)


Svara

Sv: Problem med click eventet för en datagrid

Postades av 2003-04-22 11:29:01 - Martin Berlin

Problemet är att jag inte vet hur man lägger till handler för eventet.
Jag har nu döpt SelectedIndexChanged som du ser till selectInDatagrid1, där jag laggt till följande kod.

Nu ska man väl bara lägga till en handler till detta.

<code>
private void selectInDatagrid1(object sender, System.EventArgs e)
{
int rad=DataGrid1.SelectedIndex;
Label1.Text=rad.ToString();
}</code>

Tydligen skiljer det sig lite mellan vb och c#


Svara

Sv: Problem med click eventet för en datagrid

Postades av 2003-04-22 12:19:37 - Johan Bovin

ok, jag förstår ditt problem och din frustration....
När jag stöter på problem så brukar jag göra följande:
1, kolla i dokumentationen när problem uppstår, där finns ofta svaret på frågor.
http://msdn.microsoft.com/library/default.asp?URL=/library/prelim/csref/vcoriCReference.htm

Svaret fanns här: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemwebuiwebcontrolsbasedatalistclassselectedindexchangedtopic.asp

2, sök på google...
3, söka i nyhetsgrupper
4, fråga på PelleSoft...

75 % av alla problem brukar lösas vid 1, 20% vid 2, 8 % vid 3 och 1 % vid 4.... (sen är det ju några som inte går att lösa)

Du måste lägga till en kolumn för att göra själva "select" raden... om du inte vill jobba dig med en massa egna PostBacks och javascript som jag överlåter till nån annan men rent teoretiskt så borde det gå att få datagrid-raden klickbar som i winformsdatagriden. Men i HTML-delen i designern lägger du till detta mellan <asp:datagrid blabla> och </asp:datagrid>:
<Columns>
<asp:ButtonColumn Text="Select"
CommandName="Select"/>
</Columns>
Lite fler länkar till saker angående SelectedIndexChanged:
http://msdn.microsoft.com/msdnmag/issues/01/05/cutting/default.aspx


Svara

Sv: Problem med click eventet för en datagrid

Postades av 2003-04-22 19:27:09 - Martin Berlin

SelectIndexChanged använder man väl bara när man har en listkontroll i datagriden, alltså för att välja en visst antal poster. Det ska jag inte göra utan när jag väljer en post i datagriden så hämtar jag övrig information om just den posten. Därför är jag intresserad av radnummret.

Givetvis kollar jag i dokumentationen och på övriga sidor för att få svar på mitt problem. I detta fallet har jag inte hittat något.

Det borde ju inte vara så svårt. Jag har precis börjat med asp.net

Jag ska alltså inte ha någon extra kolumn för att selecta något.


Svara

Sv: Problem med click eventet för en datagrid

Postades av 2003-04-23 08:31:26 - Johan Bovin

Det jag kan komma på spontant är ju i så fall att du har en kolumn med checkboxar och att man där väljer vilka poster man vill se och därefter klickar t.ex. på en knapp. Sen kan du ju gå igenom den kolumnen och se vilka poster som är iklickade. Såg ett sådant exempel igår.. ska se om jag hittar det igen.

här är ett exempel, det kanske kan ge dig idéer iallafall.
http://www.developer.com/net/asp/article.php/1488411


Svara

Sv: Problem med click eventet för en datagrid

Postades av 2003-04-23 10:02:49 - Martin Berlin

Nej, jag vill bara få tag på radnummret. Det ska inte vara någon form af selection, inte i detta fallet.

Det borde finnas något annat att tillgå än SelectIndexChanged ?


Svara

Sv: Problem med click eventet för en datagrid

Postades av 2003-04-23 11:49:14 - Johan Bovin

Ja, men hur väljer du en post i datagriden?
Jag tror att du måste:
1, ha varje cell klickbar genom att ha en ButtonColumn för den
2, implementera med JavaScript (onClick i varje cell), detta är nog det jobbigaste.

Lite fler länkar:
http://www.dotnetjohn.com/articles/articleid45.aspx

http://www.aspalliance.com/aspxtreme/webforms/controls/addingbuttoncolumnstodatagrid.aspx


Svara

Sv: Problem med click eventet för en datagrid

Postades av 2003-04-23 18:26:02 - Martin Berlin

Måste man ha en button el. liknande ? Jag trodde man bara kunde klicka i datagriden precis som för winforms för att få ett index.


Svara

Sv: Problem med click eventet för en datagrid

Postades av 2003-04-23 19:11:28 - Fredrik Lindberg

Du kan inte få något event automatiskt bara genom att klicka någonstans i gridden. Den renderas som en vanlig <table> på klientsidan. För att få en postback som du kan hantera på serversidan måste du antingen stoppa in någon form av knapp eller kontrol i en kolumn eller hantera det med hjälp av javascript på klientsidan (som i sin tur kan göra en postback).

Winforms och Webforms är inte samma sak vilket gör att vissa typer av självklarheter inte blir så självklara när man byter från den ena miljön till den andra.

Passar på att rekommendera en bra bok som går igenom mycket när det gäller datagridden: Building Web Solutions with ASP.NET & ADO.NET av Mike Esposito.
Microsoft Press.
Även om titeln inte avslöjar det handlar det nästan uteslutande om datagridden.

Mvh
Fredrik


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 155
27 952
271 704
3 303
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies