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


radnummer i datagrid?

Postades av 2006-03-15 18:02:34 - magnus waller, i forum vb.net, Tråden har 14 Kommentarer och lästs av 714 personer

Hej,

vet inte om jag ska tolka utebliven respons som att problemet är svårt eller ointressant. Jag söker i Helpen, och tycker mig finna relevant info, som t ex följande:

Sub MyDataGrid_Select(sender As Object, e As EventArgs)

Label1.Text = "You selected " & MyDataGrid.SelectedItem.Cells(1).Text & _
".<br>" & MyDataGrid.SelectedItem.Cells(1).Text & " has an index number of " & _
MyDataGrid.SelectedIndex.ToString() & "."
End Sub 'MyDataGrid_Select

Problemet är bara att varken SelectedIndex eller SelectedItem är "members" av 'System.Windows.Forms.DataGrid'



Jag visar alltså ett dataset från en access-datafil i en datagrid. Jag vill klicka i griden och få värdet i kolumnen längst till vänster (med rubriken "nr"), för att sedan visa en bild hörande till aktuell post. Jag försöker med följande kod:

varNumber = objDS.Tables("sciphi").Rows(DataGrid1.CurrentCell.RowNumber).Item("nr")
varRecord = varNumber & ".jpg"
PictureBox1.Image = Image.FromFile("c:/stampbase/images/varRecord")

men det går ju inte. Vet någon hur man ska göra.

hälsningar
Magnus


Svara

Sv: radnummer i datagrid?

Postades av 2006-03-16 18:12:12 - Jimmy Carlsson

Ser inte direkt vad som skulle vara fel men exakt vad är det som inte händer?
Får du inte ut ett nummer i "varNumber" eller är det pictureboxen som inte vill ladda in bilden?


Svara

Sv:radnummer i datagrid?

Postades av 2006-03-17 09:20:07 - magnus waller

Hej och tack för svar.

Det som händer är att varNumber får värdet 0 var jag än klickar i Griden. PictureBoxen har inga problem att läsa in bild om jag skriver dit en explicit fil i koden.

Jag har också testat att försöka få upp datan i en DataView-kontroll, men jag lyckas inte "populate" den, så det syns inget i den. Är det månne en framkomlig väg?

Det tröttsamma är att jag för nåot år sedan höll på med detta i VB 6.0, och då försökte använda FlexGrid för samma sak. Det visade sig då att ingen riktigt visste hur man använder den, och de som visste något, avrådde från den. Nu när jag försöker med samma projekt i vb.NET, får jag som första råd att inte använda DataGrid. Är det någon som har ett tips på vad jag BÖR använda, om jag vill göra mitt interface i vb.NET?
Idén är alltså att få upp en accesstabell som ska vara klickbar, så att varje post kan illustreras av en bild. Jag vill göra det i vb.NET för att inte användaren ska behöva Access eller annat program.

tacksam för svar,

Magnus


Svara

Sv: radnummer i datagrid?

Postades av 2006-03-17 16:44:37 - Jimmy Carlsson

Testa att använda dindatagrid.CurrentRowIndex för att få tag i radnumret.
Detta fungerar om du klickar längst ut till vänster på datagriden.

Du kan kanske kombinera detta med följande för att markera en hel rad:
http://www.pellesoft.se/communicate/tips/tips.aspx?tid=1703
som jag hittade här på Tips / Trix sidan.


Svara

Sv:radnummer i datagrid?

Postades av 2006-03-17 18:00:39 - magnus waller

Hej, jag har testat just det du föreslår. Men det som händer om jag kör (i en MouseDown-händelse)(har testat andra händelser också, te x Click)

varRecord= minDataGrid.CurrentRowIndex

är att varRecord får värdet 0 så fort jag klickar någonstans i Griden, och sedan behåller det.

Det gillar man ju inte.

Magnus


Svara

Sv: radnummer i datagrid?

Postades av 2006-03-18 07:59:21 - Jimmy Carlsson

Låter skumt.
Jag testade med att lägga det i click() händelsen och då fungerade det.
Kanske en dum fråga men du har väl data i griden eller?


Svara

Sv:radnummer i datagrid?

Postades av 2006-03-18 10:05:55 - magnus waller

Hej,

jag har data i griden såtillvida att jag SER data, kan söka med sql-frågor och få upp träffar, och jag får antalet träffar med

Label1.Text = objDS.Tables("sciphi").Rows.Count & " records"

men eftersom jag inte har någon överblick över .net-världen är jag osäker på om jag råkat hoppa över något. Jag letar kanske i DataSet och inte i själva DataGrid, som väl ungefär är "interfacet" för DataSet?

Skulle du vilja maila mig den kompletta koden för din lyckade click-händelse (dvs hela form-koden, inklusive alla deklarationer och subrutiner) till

magnus.waller@comhem.se

så får jag försöka jämföra och se om jag får det att funka hos mig. Skulle vara bussigt!


hälsar
Magnus


Svara

Sv: radnummer i datagrid?

Postades av 2006-03-18 12:33:19 - Jimmy Carlsson

Här kommer mitt exempel, skillnaden är väl att jag använder mig av MS SQL Server iställer för Access. Fungerar det inte så kanske det beror på det, kan inte access så bra så jag vet inte om det är någon skillnad.

Har ett formulär med en sökknapp och sedan presenteras resultatet i en datagrid.

'Private variables
    Private myConnection As New SqlConnection("Initial Catalog=NorthwindStudents;Data source=lusql01;Integrated Security=true;User id=myUser;password=myPass;")
    Private myAdapter As New SqlDataAdapter
    Private myDataset As New DataSet

'Såhär ser själva sökningen ut...
Private Sub btnSearch_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSearch.Click
        Dim sqlStr As String = "Select * from Customers"

            Try
                'Clear the dataset from previous results
                myDataset.Clear()

                myConnection.Open()
                myAdapter.SelectCommand = New SqlCommand
                myAdapter.SelectCommand.Connection = myConnection

                myAdapter.SelectCommand.CommandText = sqlStr
                myAdapter.SelectCommand.CommandType = CommandType.Text

                myAdapter.SelectCommand.ExecuteNonQuery()
                myAdapter.Fill(myDataset, "Customers")

                If myDataset.Tables(0).Rows.Count > 0 Then
                    dgResults.DataSource = myDataset
                    dgResults.DataMember = "Customers"
                Else
                    MessageBox.Show("Hittade inga poster med angivet sökkriterium", "Ingen träff", MessageBoxButtons.OK, MessageBoxIcon.Information)
                End If
                myConnection.Close()

            Catch ex As Exception
                myConnection.Close()
                MsgBox("Fel i btnSearch_Click: " + ex.Message + " : " + ex.TargetSite.Name)
            End Try
    End Sub

'Här kommer det jag testade för att få radnumret
    Private Sub dgResults_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles dgResults.Click
        MsgBox(dgResults.CurrentRowIndex.ToString)
    End Sub


Hopps det hjälper


Svara

Sv:radnummer i datagrid?

Postades av 2006-03-18 14:43:21 - magnus waller

Hej!

Du, det funkar ju fint med din kod! Jag blev så exalterad att jag inte närmare studerat varför, men jag ska titta mer på det sedan. Nästa problem dyker nu upp. Jag får felmeddelande för rad 3 i denna kod:

numRecord = DataGrid1.CurrentRowIndex.ToString
varRecord = numRecord & ".jpg"

PictureBox1.Image = Image.FromFile("c:/stampbase/images/") & varRecord

Jag får upp bilden om jag skriver in en specifik bild direkt i koden, typ

PictureBox1.Image = Image.FromFile("c:/stampbase/images/1.jpg")

Jag är hur som helst mycket glad för att det börjat funka med radnumren! Vet du något om hur man läser in en variabel i söksträngen för Imageboxen, så berätta gärna!!!

hälsar
Magnus


Svara

kom på det

Postades av 2006-03-18 14:59:45 - magnus waller

Hej igen,

PictureBox1.Image = Image.FromFile("c:/stampbase/images/" & varRecord)

visade sig vara rät syntax. Nu känns det plötsligt jättebra. Tack för din hjälp. Nu återstår att döpa och storleksändra 3923 bilder. Piece of cake.

När det är gjort, kommer jag (nog) att stöta på problem med:

1. Uppdatera datafilen (har lite dokumentation om sådant som ska kollas, men tar det senare)
2. Göra en exe-fil av programmet, helst så att databasfilen och image-katalogen installeras rätt på mottagarens dator.


Till dess: tack.

Magnus


Svara

Sv: radnummer i datagrid?

Postades av 2006-03-18 15:05:06 - Joakim Åhl

vet inte hur det är i vb.net men i C# måste du sätta @ före en sökväg tex. @"c:\minsida\minabilder\minbild.jpg" eller skriva "c:\\minsida\\minabilder\\minbild.jpg"


Svara

Två småsaker till

Postades av 2006-03-18 15:19:11 - magnus waller

Du,

två detaljer:
1. Kan man ställa in kolumnbredden i Griden "manuellt" innan den laddas upp på formuläret?
2. Hur gör man för att det ska vara tomt istället för stå "null" i en cell om värde saknas?

vet du, tipsa gärna!

Magnus


Svara

Sv: Två småsaker till

Postades av 2006-03-18 15:30:38 - Joakim Åhl

en if satas if värdet = null then vädrtet = ""


Svara

Sv: Två småsaker till

Postades av 2006-03-19 16:03:32 - Jimmy Carlsson

Kul att det fungerade till slut! =)

Vad gäller utsmyckningen av datagriden så har jag använt mig av följande kod i projektet ovan:


'Create and design the datagridview
        Dim objDataGridTablesStyle As New DataGridTableStyle
        Dim objTextCol As New DataGridTextBoxColumn

        'Change color of the datagridbackground
        objDataGridTablesStyle.AlternatingBackColor = Color.WhiteSmoke

        objDataGridTablesStyle.MappingName = "Customers"

        'Change the columnnames in the datagrid.
        objTextCol.MappingName = "CustomerId"
        objTextCol.HeaderText = "Id"
        objTextCol.Width = 50
        'Add the column to the datagridtablestyle
        objDataGridTablesStyle.GridColumnStyles.Add(objTextCol)

        'Get new reference and do the same for the other columns
        objTextCol = New DataGridTextBoxColumn
        objTextCol.MappingName = "CompanyName"
        objTextCol.HeaderText = "Namn"
        objTextCol.Width = 130
        objDataGridTablesStyle.GridColumnStyles.Add(objTextCol)

        objTextCol = New DataGridTextBoxColumn
        objTextCol.MappingName = "City"
        objTextCol.HeaderText = "Stad"
        objDataGridTablesStyle.GridColumnStyles.Add(objTextCol)

        objTextCol = New DataGridTextBoxColumn
        objTextCol.MappingName = "Country"
        objTextCol.HeaderText = "Land"
        objDataGridTablesStyle.GridColumnStyles.Add(objTextCol)

        'Add the tablestyle to the datagrid
        dgResults.TableStyles.Add(objDataGridTablesStyle)


Lycka till!


Svara

Sv:Två småsaker till

Postades av 2006-03-19 22:18:23 - magnus waller

Tack för koden!

Jag är rätt nergrävd i rutinpyssel med inmatning av poster i databasen en månad framöver (hehe), men kommer att ha nytta av den (design-koden) och tipset om if-satsen för nullvärden.

Magnus :)


Svara

Nyligen

  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper
  • 16:36 Allt du behöver veta om keramiskt
  • 16:14 Vem anlitar man egentligen när tak

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 570 725
27 958
271 751
449
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