Hallo,
ich muß euch mit meinem letzten Problem was mein kleines Projekt angehot behelligen
Ich habe ein Datagridview, das ist datengebunden über DataSet usw.
In diesem DGV ist es sehr wichtig, dass die Reihenfolge der Positionen stimmt- der Anwender muß die Positionen rauf und runter schieben können, denn so wie es da im DGV steht wird anschließend ein Bild aus Grafiken zusammengestellt. Wenn der Aufbau nicht stimmt, stimmt a die Grafik nicht und ggf. auch eine Bauphysikal.berechnung nicht.
Ich dachte die einfachste Variante ist, dass ich zwei Buttons habe- einmal selektiertes Row im DGV rauf und ein Button für runter.
Das Dataset hat einige Felder :pinch: unter anderem (klar) die ID und habe auch ein Feld eingerichtet für Sortierung (A_Sort).
Ich habe leider noch überhaupt keinen Ansatz wie ich das lösen könnte... Vielleicht habt Ihr da eine Idee an die ich mich klammern könnte ??
Bisher mache ich das so: -was aber echt kacke ist
1. Artikel reinziehen
2. den 2. Artikel reinziehen
3. den zweiten Artikel selektieren und dan den 3. Artikel reinziehen
der Code:
das der nicht besonders toll ist, weis ich
daher bitte ich euch mal wieder, mir einen ordentlichen klaps auf den Kopf zu geben
Danke & liebe Grüße
lris
EDIT:
so war auch ein Versuch: -> aber das es ja datengebunden ist gibts die Fehlermeldung: Zeilen können nicht automatisch zur Zeilenauflistung der DataGridView hinzugefügt werden, wenn das Steuerelement datengebunden ist.
Der Code:
* Topic verschoben *
ich muß euch mit meinem letzten Problem was mein kleines Projekt angehot behelligen
Ich habe ein Datagridview, das ist datengebunden über DataSet usw.
In diesem DGV ist es sehr wichtig, dass die Reihenfolge der Positionen stimmt- der Anwender muß die Positionen rauf und runter schieben können, denn so wie es da im DGV steht wird anschließend ein Bild aus Grafiken zusammengestellt. Wenn der Aufbau nicht stimmt, stimmt a die Grafik nicht und ggf. auch eine Bauphysikal.berechnung nicht.
Ich dachte die einfachste Variante ist, dass ich zwei Buttons habe- einmal selektiertes Row im DGV rauf und ein Button für runter.
Das Dataset hat einige Felder :pinch: unter anderem (klar) die ID und habe auch ein Feld eingerichtet für Sortierung (A_Sort).
Ich habe leider noch überhaupt keinen Ansatz wie ich das lösen könnte... Vielleicht habt Ihr da eine Idee an die ich mich klammern könnte ??
Bisher mache ich das so: -was aber echt kacke ist
1. Artikel reinziehen
2. den 2. Artikel reinziehen
3. den zweiten Artikel selektieren und dan den 3. Artikel reinziehen
der Code:
VB.NET-Quellcode
- Dim foundRow As DataRow = ProgrammDatenSet.Tables("Bauteile").Rows.Find(ReferenzId)
- 'Dim Dt_Id As Integer = Me.ProgrammDatenSet.AltDach.Count - 1
- Dim SortID As Integer = Me.ProgrammDatenSet.AltDach.Count
- Dim Wdw As Double = 0
- 'Dt_Id += 1
- SortID += 1
- System.Threading.Thread.Sleep(250)
- If foundRow IsNot Nothing Then
- Try
- Dim oRow As System.Data.DataRow
- oRow = Me.ProgrammDatenSet.AltDach.NewRow ' nicht eine vorhandene Zeile kopieren!
- 'oRow.Item(0) = Dt_Id
- oRow.Item(1) = foundRow.Item(0)
- oRow.Item(2) = foundRow.Item(2)
- oRow.Item(3) = foundRow.Item(3)
- oRow.Item(4) = foundRow.Item(4)
- oRow.Item(5) = foundRow.Item(5)
- oRow.Item(6) = foundRow.Item(6)
- oRow.Item(7) = foundRow.Item(7)
- oRow.Item(8) = foundRow.Item(8)
- oRow.Item(9) = foundRow.Item(9)
- oRow.Item(10) = foundRow.Item(10)
- oRow.Item(11) = SortID
- Wdw = CDbl(foundRow.Item(6)) / CDbl(foundRow.Item(3))
- oRow.Item(12) = Wdw
- oRow.Item(13) = foundRow.Item(12)
- oRow.Item(14) = foundRow.Item(13)
- If Me.ProgrammDatenSet.AltDach.Count > 0 Then
- Me.ProgrammDatenSet.AltDach.Rows.InsertAt(oRow, AltDachDataGridView.Rows(AltDachDataGridView.CurrentRow.Index).Cells(11).Value)
- Else
- Me.ProgrammDatenSet.AltDach.Rows.Add(oRow)
- End If
- Catch ex As Exception
- MessageBox.Show(ex.Message)
- End Try
- Dim view As DataView = Me.ProgrammDatenSet.AltDach.DefaultView
- view.Sort = "A_Sort"
- UWert_berechnen_AD()
das der nicht besonders toll ist, weis ich
daher bitte ich euch mal wieder, mir einen ordentlichen klaps auf den Kopf zu geben
Danke & liebe Grüße
lris
EDIT:
so war auch ein Versuch: -> aber das es ja datengebunden ist gibts die Fehlermeldung: Zeilen können nicht automatisch zur Zeilenauflistung der DataGridView hinzugefügt werden, wenn das Steuerelement datengebunden ist.
Der Code:
VB.NET-Quellcode
- Private Sub btn_AdUp_Click(sender As System.Object, e As System.EventArgs) Handles btn_AdUp.Click
- 'Eintrag eine Zeile nach oben verschieben
- Dim Ind As Integer
- Ind = AltDachDataGridView.CurrentCell.RowIndex
- If Ind = 0 Then Exit Sub
- AltDachDataGridView.Rows.InsertCopy(Ind, Ind - 1)
- AltDachDataGridView.Rows.Remove(AltDachDataGridView.Rows(Ind + 1))
- End Sub
* Topic verschoben *
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „der_Kurt“ ()