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


Hämta värden från en datagrid cell

Postades av 2004-02-11 20:42:46 - Tyronne Engström, i forum asp.net generellt, Tråden har 7 Kommentarer och lästs av 717 personer

Hej!

Många har npg ställt denna fråga och jag gör det nu med..


Jag har en datagrid med 4 kolumner. I två av dessa har jag ett namn. Jag vill kunna klicka på namnet då skall ett värde hämtas ex:

Företag ref tele
TOTO Janne 45465465

Jag vill kunna klicka på TOTO och sedan hämta upp all data på TOTO via en SQL-Fråga. Dvs under namnet TOTO så skall det finnas et id nummer som jag kan hämta ut. Likadant skall det vara Janne.

HUr kan jag göra det... Jag önskar hjärna att någon ger mig ett exemepl med en förklaring.... detta är inte så självklart för mig än

/phinala


Svara

Sv: Hämta värden från en datagrid cell

Postades av 2004-02-11 23:45:13 - Carl Johan Gribel

Tjena!

Tror jag är med på vad du menar.

Först en fråga, hur har du valt att ladda in datan i griden?

Om du gör det "automatiskt", dvs har AutoGenerateColumns=true och låter t.ex. en SqlDataAdapter fylla den så är det knivigt. Då har du dålig kontroll över innehållet.

Det bästa, tycker jag, är att själv hämta in datan med SQL-anrop, och bygga griden med tamplates. Då kan du lätt söka upp kontrollerna och ändra/hämta info från dem...även om det där klickandet kräver lite extra jobb...

Fast så kanske du redan börjat? =)

Mvh
Carl Johan


Svara

Sv: Hämta värden från en datagrid cell

Postades av 2004-02-12 00:03:50 - Tyronne Engström

Jag laddar in data med en sql Fråga. Dock så väljer jag själv vilka columner som skall visas dvs AutoGenere...=false. För jag har en edit knapp med. Dock vill jag ta bort den och att man skall klicka på den cellen man skall editera...

Ok.. hur går jag vidare om vi tar det från steg 1...

Jag använder en oleadapter som fyller ett dataset. Som i sin tur fyller datagriden..





/phinala


Svara

Sv: Hämta värden från en datagrid cell

Postades av 2004-02-12 08:49:12 - Mikael Sand

<code>
<asp:datagrid id="PowerIsMine" datakeyfield="TOTOID">
<columns>
...
<asp:ButtonColumn Text="&#196;ndra" CommandName="Edit" />
</columns>
</asp:datagrid>
</code>
och i codebehind finner vi följande
<code>
Private Sub grdNodeConfig_EditCommand(ByVal source As Object, _
ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) _
Handles grdNodeConfig.EditCommand
Dim TOTOID as integer
TOTOID = integer.parse(PowerIsMine.DataKeys(e.item.itemindex).tostring)
' TOTOID har nu det id som den aktuella raden.
End Sub
</code>
HEPP!


Svara

Sv: Hämta värden från en datagrid cell

Postades av 2004-02-12 10:01:52 - Tyronne Engström

Hej och tack..

när jag decklarerar

totoid= interger.parse.(datagrid1....

så blåmarkeras integer och den säger att den inte är deklarerad..

Vad har jag missat


/Phinala


Svara

Sv: Hämta värden från en datagrid cell

Postades av 2004-02-13 03:06:03 - Carl Johan Gribel

Tjena!

Herr Sands metod funkar säkert bra!

Kan man förresten inte använda
<code>
dim totoid%=CInt(PowerIsMine.DataKeys(e.item.itemindex))
</code>
istället?

Sedan är det alltså bara att använda totoid och visa vilken data man vill.

För att få till de här musklicken kan du göra följande:

Först skapa (behåll) en datagrid-kolumn med linkbuttons för edit (nedan döpt till lbtnEdit)och select (nedan döpt till lbtnSelect), men gör den OSYNLIG.

Sedan...

<code>
Private Sub datagrid1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles dgReport.ItemDataBound

'<Fetch and manipulate controls at their databind event>

Dim lit As ListItemType
Dim lbtn As LinkButton

lit = e.Item.ItemType
If Not (lit = ListItemType.Header Or lit = ListItemType.Footer Or lit = ListItemType.Pager) Then
'<Trigger row selecting as mouse moves>
lbtn = e.Item.FindControl("lbtnSelect")
If Not lbtn Is Nothing Then
e.Item.Attributes("onmouseover") = "javascript:setBackground(this,'#ffffe1')"
e.Item.Attributes("onmouseout") = "javascript:setBackground(this,'#ffffff')"
End If

'<Trigger row editing as mouse clicks>
lbtn = e.Item.FindControl("lbtnEdit")
If Not lbtn Is Nothing Then
e.Item.Attributes("onclick") = Page.GetPostBackClientHyperlink(lbtn, "")
End If
End If
End Sub
</code>

...där färgerna i setBackground givetvis kan ändras efter tycke.

Lägg sedan till följande lilla javascript:

<code>
function setBackground(obj,color){
obj.style.backgroundColor=color;</code>
}</code>


Tilläggas bör att det nu är hela rader man klickar på, inte celler, men Herr Sands funktion bör fungera ändå. Också celler kan göras klickbara tror jag...men då får vi meka lite.

Voilá!

Mvh/
Carl Johan


Svara

Sv: Hämta värden från en datagrid cell

Postades av 2004-02-13 08:48:27 - Mikael Sand

Mysigt att mitt förslag antogs. Om inte annat för att det är den typen som jag använder varje gång som jag gör det som efterfrågades. Vore otrevligt om jag har gjort fel hittills.

En kommentar kring CInt kontra integer.Parse. (Överkurs - kan hoppas över)
Med risk för att låta fånig så är inte Cint särskilt .nettigt :-) Det är i alla fall det som rekommendationerna från Microsoft säger (faktiskt med just de orden).
Ivilketfallsomhelst så är det så pass enkelt att en Cint tar emot ett object och måste då utvärdera vad det är för typ av objekt först och om den kan omvandla det hela till en integer. Det behöver inte integer.parse och sålunda slipper du ett par rader MSIL-kod.

Om man dessutom tar en närmre titt på integer.parse så inser man ganska snabbt att det är en mer versitil funktionssamling. I dess överladdade typer kan man nämligen t ex ange på vilket sätt som strängen ska parsas.
<code>
Dim s As String = "11"
Dim i As Integer = Integer.Parse(s, System.Threading.Thread.CurrentThread.CurrentCulture)
</code>
I just detta fall är det naturligtvis krafs men jag vill höja ett varningens finger då det är en god vana att ta hänsyn till vilken miljö som din applikation ska köra i. Något inte helt ovanligt är att din miljö kör på svenska medan produktionsmiljön är på engelska. Då har du problem om du t ex har använt CDbl och det dyker upp ett komma och inte en punkt.

Grunden i detta handlar om att du som utvecklare måste lägga dig till med bra vanor i ditt kodande så att du inte står handfallen just den dag då dina förutsättningar ändrats och dessutom måst lägga många timmars arbete på att revidera din kod, något som ekonomiavdelningen inte brukar gilla (och säga vad man vill om ekonomer men makt har dem tyvärr).
På det kan vi dessutom lägga .net-frameworks miljö och dess tankar om object som grundtyp för allt. Omvandlingar till och från olika typer ska då göras och då gör du bäst i att använda det med objektorienterade sättet för omvanling som t ex Integer.Parse innebär (även om just DET är en värdetyp)

Nog mumlat nu Mikael. Börja jobba med dig


Svara

Sv: Hämta värden från en datagrid cell

Postades av 2004-02-15 20:14:41 - Tyronne Engström

Jag tackar för er hjälp....skall nu dra mig tillbaka och gåigenom allt.. Jag lpvar att återkomman när jag är klar...

ha det

/Phinala


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 165
27 952
271 704
622
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