vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Mails senden, abrufen und decodieren - ganz easy ;-)  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Re: Datagrid Spaltensortierung - Hilfe 
Autor: inkvc17
Datum: 01.07.07 14:58

naja, die belegungstabelle ist noch nciht fertig
also meinst du, ich sollte das grid nicht bei einem datumswechsel leeren und die zeilen / spalten neu anlegen lassen sondern einfach die nicht benötigten Tage ausblenden. Ich werd mal nen bissle was probieren.

Bis jetzt ist es noch nicht perfekt, könntest du mir vieleiocht noch verraten, wie ich gestimmte zellen einer zeile gruppieren bzw zusammenfügen kann???

Viele Grüße
Rob
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Datagrid Spaltensortierung - Hilfe 
Autor: inkvc17
Datum: 30.06.07 16:54

Hallo,

ich lasse in ein Datagrid automtisch Zeilen und Spalten einfügen.
Ich möchte redoch nicht das sich die Spalten sortieren lassen.

Ich habe es jetzt so gelößt:

...............................
        Dim i As Integer
 
        dt.Columns.Add(New DataColumn("Plätze"))
 
        For i = 1 To mTage
            dt.Columns.Add(New DataColumn(i.ToString(), _
            GetType(String)))
 
        Next i
 
        Dim rows As Integer = test
 
        dt2 = Datenbank1DataSet2.Tables("Plätze")
 
        For Each dr In dt2.Rows
            test2 = dr("Nummer").ToString
            dr = dt.NewRow
            dt.Rows.Add(test2)
        Next
 
 
 
  DataGridView1.DataSource = dt
 
        Dim s As DataGridViewColumn
        For Each s In DataGridView1.Columns
            s.SortMode = DataGridViewColumnSortMode.NotSortable
        Next s
 
        DataGridView1.AutoResizeColumns()
Leider dauert diese Methode ewig lange und ist so nicht effektiv.
Gibt es noch eine andere Möglichkeit??

Viele Grüße
Rob
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datagrid Spaltensortierung - Hilfe 
Autor: Melkor
Datum: 30.06.07 21:10

Warum machst du das überhaupt? Eine DataTable hast du schon. Und was deine seltsame For Each dr Schleife bewirken soll ist mir schleierhaft.

Those people who think they know everything are a great annoyance to those of us who do - Isaac Asimov

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datagrid Spaltensortierung - Hilfe 
Autor: inkvc17
Datum: 30.06.07 21:59

Hi,

naja, ich habe ein Datagird aber erstmal ohne Spalten und Zeilen
Dann erstelle ich wie eine Spalte mit dem Namen Plätze und dann 30-31 (abbhängig vom Montat) Spalten, die Zeilen kommen dann aus der Access Datenbank. Das funktioniert soweit auch schon super aber leider kann man jede Spalte (durch einen klick auf die Spaltenüberschrift) noch sortieren. und das soll nicht passieren. Deshalb läuft die Schleife durch die Spalten und unterbindet die Sortierfunktion. Mach ich denn lt. Code etwas falsch? Auf jeden Fall funktioniert es so - nur halt etwas zu lagssam.

Viele Grüße
Rob
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datagrid Spaltensortierung - Hilfe 
Autor: Melkor
Datum: 30.06.07 22:06

Es ist trivial und kostet nichts die Spalten als nicht-Sortierbar zu markieren. Das ist die Schleife:
        Dim s As DataGridViewColumn
        For Each s In DataGridView1.Columns
            s.SortMode = DataGridViewColumnSortMode.NotSortable
        Next s
und dauert bestimmt nur Mikrosekunden. Irgendwelche Geschwindigkeitsprobleme liegen wohl woanders, deshalb frage ich was der ganze Code eigentlich sein soll (hat ja nichts mit Sortieren zu tun). Eine Schleife wie
        For Each dr In dt2.Rows
            test2 = dr("Nummer").ToString
            dr = dt.NewRow
            dt.Rows.Add(test2)
        Next
macht wirklich keinen Sinn.

Those people who think they know everything are a great annoyance to those of us who do - Isaac Asimov

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datagrid Spaltensortierung - Hilfe 
Autor: inkvc17
Datum: 30.06.07 22:54

Hi,

hmm, wie kann ich das denn sonst machen?

wie gesagt die Spalten werden manuell erstellt, die Zeilen kommen aus einer DB:

        Dim dt As New DataTable
        Dim dt2 As New DataTable
        Dim dr As DataRow
        DataGridView1.DataSource = Nothing
 
        Dim test As String
 
        test = Me.PlätzeTableAdapter.Fill(Me.Datenbank1DataSet2.Plätze)
        Dim test2 As String
 
 
 
        Dim mTage As String
 
        '  mTage = Date.DaysInMonth(Date.Now.Year, Date.Now.Month)
        mTage = Date.DaysInMonth(Me.DateTimePicker1.Value.Year, _
          Me.DateTimePicker1.Value.Month)
 
 
 
 
        Dim i As Integer
 
        dt.Columns.Add(New DataColumn("Plätze"))
 
        For i = 1 To mTage
            dt.Columns.Add(New DataColumn(i.ToString(), _
            GetType(String)))
 
        Next i
 
 
        Dim rows As Integer = test
 
 
 
        dt2 = Datenbank1DataSet2.Tables("Plätze")
        For Each dr In dt2.Rows
            test2 = dr("Nummer").ToString
            dr = dt.NewRow
 
            dt.Rows.Add(test2)
 
        Next
 
 
 
 
        DataGridView1.DataSource = dt
 
        Dim s As DataGridViewColumn
        For Each s In DataGridView1.Columns
            s.SortMode = DataGridViewColumnSortMode.NotSortable
 
        Next s
 
 
        DataGridView1.AutoResizeColumns()
und so soll das ganze dannach aussehen:


http://www.bildupload.eu/u/070630/j/ee077bb5.jpg


So funktioniert das ganze wunderbar, nur halt etwas langsam.

Viele Grüße
Rob
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datagrid Spaltensortierung - Hilfe 
Autor: Melkor
Datum: 01.07.07 09:48

Erstens solltest du sagen was in der Tabelle Plätze steht (Sonderzeichen in DB Eintitätsnamen sollte man übrigens besser vermeiden). Sind das die Platzbelegungen? Und warum fügst du nur eine Spalte davon in dt ein?
(dr = dt.NewRow ist dabei völlig überflüssig)

Those people who think they know everything are a great annoyance to those of us who do - Isaac Asimov

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datagrid Spaltensortierung - Hilfe 
Autor: inkvc17
Datum: 01.07.07 12:53

Hi,


jan genau die Tabelle Plätze besteht nur aus den Platznummern und Typzuweisungen

ID | Nummer | Typ
1 | 21 | Dauercamper

DIe Spalten werden je nach Datum automatisch berechnet.

Also 1. Spalte heißte Plätze und dann geht es von 1-31 weiter.
(könnte ich denn die Optik der Spalten oder Zeilen nicht schon vorher oder bei der Erstellung festlegen ? und nicht erst duch eine Schleife im nachhinein.

Bin leider noch ein ziemlicher Anfänger auf dem Gebiet und hoffe du hilfst mir dennoch ein wenig

Viele Grüße
Rob
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datagrid Spaltensortierung - Hilfe 
Autor: Melkor
Datum: 01.07.07 14:47

Und wie werden die Platzbelegungen abgespeichert? Das ist doch Sinn der Sache, oder? Oder schreibt man alles noch von Hand auf falls der Rechner ausgeschaltet wird?

Klar kannst du alles im Designer festlegen, allerdings kannst du nicht zwischen 28, 29, 30 oder 31 Spalten unterscheiden. Das musst du mit Code machen (Spalten unsichtbar setzen, zu.B.). Aber du kannst das auch so machen, lediglich passiert sowieso alles im Code, der Formdesigner generiert auch nur Codezeilen.

Those people who think they know everything are a great annoyance to those of us who do - Isaac Asimov

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datagrid Spaltensortierung - Hilfe 
Autor: Melkor
Datum: 01.07.07 16:03

Vielleicht die Borders ausschalten und eine einheitliche Farbe verwenden?

Those people who think they know everything are a great annoyance to those of us who do - Isaac Asimov

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datagrid Spaltensortierung - Hilfe 
Autor: inkvc17
Datum: 01.07.07 16:15

also, das mit den ein und ausblenden der nicht benötigten tage funktioniert super schnell.
aber das mit den borders ist keine gute idee, denn es muss ja nopch etwas in der zeile drinstehen - also der name des mieters. und deshalb müssen die zellen eigentlich zusammengefügt (in excel weiss ich wie es geht ) werden. oder gibt es ne andere lösung dafür.

Viele Grüße
Rob
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel