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


Datagrid - itemselect eller checked?

Postades av 2004-05-16 22:52:20 - Jonas Stenman, i forum vb.net, Tråden har 7 Kommentarer och lästs av 1191 personer

Tacksam för hjälp med följande: Vill kunna markera flera rader (i den första kolumnen) i en datagrid och lagra/append varje "item" till en sträng. Strängen(m_STR) ska användas i en sql-sats så därför ska den kunna innehålla flera olika val.

tex. SELECT Namn IN(m_STR) FROM tblNamn

Någon som vet ett smart sätt?


Svara

Sv: Datagrid - itemselect eller checked?

Postades av 2004-05-16 23:44:28 - Jonas Stenman

Hittade en lösning som fungerade. Datagriden är ju kopplad till ett dataset så det blev så här:

Private Sub DataGrid1_CurrentCellChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DataGrid1.CurrentCellChanged

Dim rad As Integer = DataGrid1.CurrentCell.RowNumber
m_valdaItems = m_valdaItems & "'" & m_currentDs.Tables(0).Rows(rad).Item(0) & "'" & ","

End Sub

Det är kanske okej.. Nu e det bara det att varje gång jag klickar på en ny rad så förvinner tidigare markering i gridden! Någon som vet hur man man gör för att de markerade raderna ska "FÖRBLI" markerade så att säga..??


Svara

Sv: Datagrid - itemselect eller checked?

Postades av 2004-05-16 23:59:48 - Andreas Håkansson

Jonas,

Här har du en annan lösning

<code>
Private Sub GridForm_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim info As DataTable = New DataTable
info.TableName = "Info"
info.Columns.Add("Kolumn1")
info.Columns.Add("Kolumn2")

info.Rows.Add(New Object() {"Rad1Kolumn1", "Rad1Kolumn2"})
info.Rows.Add(New Object() {"Rad2Kolumn1", "Rad2Kolumn2"})
info.Rows.Add(New Object() {"Rad3Kolumn1", "Rad3Kolumn2"})

DataGrid1.DataSource = info
End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim dataTable As DataTable
dataTable = CType(DataGrid1.DataSource, DataTable)

Dim selectedValues As String
For Index As Integer = 0 To dataTable.Rows.Count Step 1
If DataGrid1.IsSelected(Index) Then
selectedValues = selectedValues + DataGrid1.Item(Index, 0) + ","
End If
Next

If Not selectedValues Is Nothing Then
If selectedValues.Substring(selectedValues.Length - 1) = "," Then
selectedValues = selectedValues.Remove(selectedValues.Length - 1, 1)
End If
MessageBox.Show(selectedValues)
End If

End Sub
</code>

Koden kommer från en Form som heter <b>GridForm</b> och har en knapp på sig som heter <b>Button1</b> när du klickar på knappen får du upp en meddelanderuta som visar de valda raderna (i detta fallet hämtar den värdena från första kolumnen). För att multimarkera håller du nera CTRL när du klickar på raderna.

//Andreas


Svara

Sv: Datagrid - itemselect eller checked?

Postades av 2004-05-17 12:21:14 - Jonas Stenman

Tack, verkar som en bra lösning men jag fick följande felmedd:

An unhandled exception of type 'System.IndexOutOfRangeException' occurred in system.windows.forms.dll
Additional information: Indexet låg utanför gränserna för matrisen.

här: If DataGrid1.IsSelected(Index) Then

och kompileringsfel här:
Dim dataTable As DataTable
dataTable = CType(DataGrid1.DataSource, DataTable)

..så jag bytade till:
Dim dataTable As DataTable
dataTable = m_currentDs.Tables(0)

eftersom jag tidigare i koden har:
DataGrid1.DataSource = m_currentDs.Tables(0)

Kan du se var det felar?



Svara

Sv: Datagrid - itemselect eller checked?

Postades av 2004-05-17 12:26:04 - Andreas Håkansson

Jonas,

Jag ber om ursäkt. Givetvis skall loopen gå till <b>Count - 1</b> då gridden är nollindxerad

<code>
Dim selectedValues As String
For Index As Integer = 0 To dataTable.Rows.Count - 1 Step 1
Debug.WriteLine(Index)
If DataGrid1.IsSelected(Index) Then
selectedValues = selectedValues + DataGrid1.Item(Index, 0) + ","
End If
Next
</code>

Den rad som du säger att du får kompileringsfel på är korrekt och skall fungera eftersom
jag själv testat den (senast 1 minut sen).

//Andreas


Svara

Sv: Datagrid - itemselect eller checked?

Postades av 2004-05-17 12:33:59 - Andreas Håkansson

Svarar mig själv,

Nä min kod funkar inte om du använder ett DataSet direkt som datakälla till din grid. Anledningen är att <b>DataGrid1.DataSource</b> returnerar ett <b>Object</b> och i ditt fall är det ett DataSet som du i så fall fösöker typa till ett DataTable.

Så kör på din lösning, om du ändå har tillgång till ditt DataSet så kör på det. Annars får du först type om din DataGrid1.DataSource till ett DataSet och sen hämta ut .Tables(0) ur det som du lagrar i dataTable, men i detta fallet är det juh inte nödvändigt då du har direkt tillgång.


Svara

Sv: Datagrid - itemselect eller checked?

Postades av 2004-05-17 13:13:07 - Jonas Stenman

Hade glömt sätta RowHeadersVisible till True för datagridden så därför kunde jag inte selecta.. Nu funkar det klockrent efter ditt senaste inlägg. Tack för hjälpen.
/Jonas


Svara

Sv: Datagrid - itemselect eller checked?

Postades av 2004-05-17 13:19:41 - Andreas Håkansson

Jonas,

Om svaren i denna tråd har hjälpt dig hitta en lösning på ditt problem ber jag dig att markera inlägget som löst (uppe till höger i forumet). Genom att markera inlägget som löst så visar du andra att det inte bara finns en fråga i tåden utan även ett fungerande svar. Detta hjälper andra som har samma problem att hitta en lösning på ett effektivare sätt.

//Andreas


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 721
27 958
271 751
5 728
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