Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  VBasic / vb.net / vbs / wsh
  DGV.CurrentRow speichern und wieder laden

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  DGV.CurrentRow speichern und wieder laden (1949 mal gelesen)
Dirk.B
Mitglied
Tischler / Leiter Arbeitsvorbereitung


Sehen Sie sich das Profil von Dirk.B an!   Senden Sie eine Private Message an Dirk.B  Schreiben Sie einen Gästebucheintrag für Dirk.B

Beiträge: 534
Registriert: 25.11.2003

AutoCAD 2021/2022
CAD+T
HP ZBook 15 G4, 64-bit,
WIN 10 Pro

erstellt am: 13. Feb. 2014 09:47    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo zusammen!

Wie kann ich die zuletzt ausgewählte Zeile meinen DGV beim erneuten Programmaufruf
übernehmen.

Für TextBox - Inhalte mache ich es über "Einstellung" - Settings.

Code:

'...speichern
My.Settings.TB_STH = Me.TB_STH.Text
'...

Code:

'...laden
Me.TB_STH.Text = My.Settings.TB_STH
'...

Probiert hatte ich es schon mal so

Code:

'...speichern
My.Settings.DGV_CurrentRows_Save = DataViewRowState.CurrentRows
'...

Code:

'...laden
Me.DGV1.CurrentRow = My.Settings.DGV_CurrentRows_Save
'...

Geht das überhaupt, oder gibt es da eine andere Möglichkeit?

Vielen Dank im Voraus.

------------------
Gruß

Dirk

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

RSchulz
Ehrenmitglied V.I.P. h.c.
Head of CAD, Content & Collaboration / IT-Manager



Sehen Sie sich das Profil von RSchulz an!   Senden Sie eine Private Message an RSchulz  Schreiben Sie einen Gästebucheintrag für RSchulz

Beiträge: 5541
Registriert: 12.04.2007

@Work
Lenovo P510
Xeon E5-1630v4
64GB DDR4
Quadro P2000
256GB PCIe SSD
512GB SSD
SmarTeam V5-6 R2016 Sp04
CATIA V5-6 R2016 Sp05
E3.Series V2019
Altium Designer/Concord 19
Win 10 Pro x64

erstellt am: 13. Feb. 2014 10:46    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Dirk.B 10 Unities + Antwort hilfreich

Hallo Dirk,

also erstmal, DGV musste ich erstmal googlen. Bitte keine Abkürzungen verwenden, denn jeder verwendet andere.

Dann habe ich keine Ahnung, was du da machst. Woher soll irgendwer wissen, was bei dir TB_STH ist. Klar kann ich aus TB Textbox schlussfolgern, aber es ist nicht jeder Programmierer ein Entschlüsselungskünstler.

Wenn ich deine Frage richtig verstehe, möchtest du das ausgewählte Element speichern, wenn das Programm geschlossen wird und beim nächsten Aufruf wieder anzeigen.
Hierfür gibt es einige Ansätze...
1.) Settings in der Registry speichern
Hierfür musst du für dein Programm einen Registryschlüssel generieren, der nicht mit anderen in Konflikt gerät und darin die benötigten Informationen speichern.
2.) Du legst dir eigene Settings an
Hier würde ich unter "AppData" des Anwenders einen entsprechenden ordner anlegen und eben entsprechende Dateien generieren
3.) Du hast neben dem Programm eine Konfigdatei
Hier kannst du nach belieben eine ini, xml oder einfach nur textdatei anlegen, die du entsprechend mit dem Programmstart auswertest.


------------------
MFG
Rick Schulz

Nettiquette (CAD.de)  -  Was ist die Systeminfo?  -  Wie man Fragen richtig stellt.  -  Unities

[Diese Nachricht wurde von RSchulz am 13. Feb. 2014 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

fritsrol
Mitglied
CAD-Systemingenieur


Sehen Sie sich das Profil von fritsrol an!   Senden Sie eine Private Message an fritsrol  Schreiben Sie einen Gästebucheintrag für fritsrol

Beiträge: 143
Registriert: 11.12.2002

Windows 10 64
Office 2013
Eplan P8 2.7 HF2
VS 2015
Medusa 2000i2

erstellt am: 13. Feb. 2014 13:24    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Dirk.B 10 Unities + Antwort hilfreich

Hallo Dirk,

hast Du die "my.setting" Variable mal mit Datentyp System.Data.DataTable ausprobiert ?

Gruß
Roland

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Dirk.B
Mitglied
Tischler / Leiter Arbeitsvorbereitung


Sehen Sie sich das Profil von Dirk.B an!   Senden Sie eine Private Message an Dirk.B  Schreiben Sie einen Gästebucheintrag für Dirk.B

Beiträge: 534
Registriert: 25.11.2003

erstellt am: 13. Feb. 2014 16:52    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo zusammen!

@Rick
Sorry dafür, dass ich meine Abkürzungenbzw. Benennungen nicht ausführlicher beschrieben habe.

DGV = DataGridView
TB = TextBox

so hätte ich es machen können.

@Roland
Das mit dem My.Settings und dem System.Data.DataTable hatte ich mir angesehen muß aber gestehen, dass ich damit nicht zurecht gekommen bin.

Ich habe nun noch mal folgendes ausprobiert.

Klick ich auf meinen OK_Button wird der CurrentRow.Index an My.Settings übergeben.

Code:

'...
Me.Hide()
'...
My.Settings.DGV_CurrentRows_Save = DGV1.CurrentRow.Index.ToString'...

Wenn ich nun das Programm wieder lade wird der Index übergeben und die zuletzt angeklickte Zeile ist markiert bzw. farblich unterlegt.

Code:

Private Sub LSystem_Load(ByVal sender As System.Object, ByVal e As _
  System.EventArgs) Handles MyBase.Load
'...
DGV1.Rows(My.Settings.DGV_CurrentRows_Save).Selected = True
'...

Jetzt hab ich zwar die Zeile z.B. 3 markiert, aber nun fehlt mir eine Art KlickEvent auf diese Zeile, so das die Werte aus den Cells an die TextBoxen übergeben werden.

Gibt es dazu vielleicht etwas KlickEvent, oder so?

Mit folgende Zeile hol ich mir die markierte Zeile in den sichbaren Scrollbereich.

Code:

DGV1.FirstDisplayedScrollingRowIndex = My.Settings.DGV_CurrentRows_Save

Vielen Dank im Voraus.


------------------
Gruß

Dirk

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

KMassler
Ehrenmitglied V.I.P. h.c.
CAD Admin + Mädchen für Alles...



Sehen Sie sich das Profil von KMassler an!   Senden Sie eine Private Message an KMassler  Schreiben Sie einen Gästebucheintrag für KMassler

Beiträge: 2657
Registriert: 06.11.2000

SolidWorks Start 1999
** CSWP 01/2008 **
Dell Precision 7540 mobile Workstation,
64GB, Quadro RTX 3000;
SWX2020 SP5;
SAP/PLM+ECTR;
DriveWorks Pro;
Programmierung: VBA, aktuell Visual Studio 2017/VB.Net

erstellt am: 25. Feb. 2014 14:23    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Dirk.B 10 Unities + Antwort hilfreich

Ich hoffe, ich habe dich richtig verstanden 

Du hast eine Form mit einer Textbox und einer DataGridView, die du miteinander verbandeln willst. Außerdem soll die angeklickte Zeile der DGv in die Textbox übertragen werden.
Beim Beenden (oder sonst wann) soll die ausgewählte Zeilennummer festgehalten werden und dann beim Neustart (oder sonst wann) automatisch wieder ausgewählt werden- und natürlich der Text in die Textbox übertragen werden. Nach deiner Beschreibung gehe ich mal davon aus, dass die DGV nur eine Spalte hat.

Eigentlich ganz einfach 

Ich habe eine Form mit der Textbox TB_STH, der DataGridView DGV1. Dazu noch 2 Buttons, die das Beenden und neustarten simulieren sollen.
Außerdem gibt es in den Settings einen Wert DGV1_Row als integer, dort wird die gewählte Zeile zwischengespeichert.

Hier der Code: (zu Beginn wird die DGV mit irgendwelchen  Werten gefüllt)

Code:
Public Class Form1

    Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        Dim n As Integer = 0

        For n = 1 To 5
            DGV1.Rows.Add("Zeile " & n.ToString)
        Next

    End Sub

    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        Dim n As Integer
        n = DGV1.CurrentCellAddress.Y
        My.Settings.DGV1_Row = DGV1.CurrentCellAddress.Y
        My.Settings.Save()
    End Sub

    Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
        Dim n As Integer = My.Settings.DGV1_Row
        DGV1.CurrentCell = DGV1.Rows(n).Cells(0)
        TB_STH.Text = DGV1.CurrentCell.Value
    End Sub

    Private Sub DGV1_CellClick(sender As Object, e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DGV1.CellClick
        TB_STH.Text = DGV1.CurrentCell.Value
    End Sub

End Class



Jedes Mal, wenn du die DGV anklickst, wird der aktuelle Wert in die Textbox geschrieben.
Mit dem Button1 wird die Zeilennummer in den Settings gespeichert, diese dann gesichert.
Umgekehrt wird mit dem Button2 der Wert aus den Settings gelesen und die entsprechende Zeile der DGV ausgewählt sowie der Inhalt der Zeile/Zelle in die Textbox geschrieben.

------------------
Klaus

www.al-ko.com | mein Gästebuch

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz