Autor Beitrag
tomycat
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 265
Erhaltene Danke: 1



BeitragVerfasst: Mi 01.03.17 20:46 
hallo,
in Datagridview steht in Spalte A:
Zeile 1: 111,11
Zeile 2: 11,11
Zeile 3: 9,99

Was muss ich tun, wenn ich auf den Header von der Spalte A anklicke, dass alles nach dem Wert aufsteigend sortiert wird?


Moderiert von user profile iconChristian S.: Topic aus C# - Die Sprache verschoben am Mi 01.03.2017 um 20:01
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 01.03.17 21:24 
- Nachträglich durch die Entwickler-Ecke gelöscht -

Für diesen Beitrag haben gedankt: tomycat
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4764
Erhaltene Danke: 1052

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Mi 01.03.17 21:52 
Hallo tomycat,

du möchtest nach den Zahlenwerten sortieren und nicht alphabetisch, oder?
Ist das DataGridView datengebunden (DataSource = ...)? Und hast du den Datentyp der Spalte richtig gesetzt:
ausblenden C#-Quelltext
1:
column.ValueType = typeof(double);					
?

Für diesen Beitrag haben gedankt: tomycat
tomycat Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 265
Erhaltene Danke: 1



BeitragVerfasst: Do 02.03.17 20:39 
thx all,
genau, nicht alphabetisch. Ich sende einen SQL Befehl an meine Datenbank und die Antwort wird in einer Tabelle dargestellt. Spalte Nummer 5 sind Zahlen.

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
schnipp
   NpgsqlDataAdapter da = new NpgsqlDataAdapter(sql, conn);
   
                ds_auftraguebersicht.Reset();       
                da.Fill(ds_auftraguebersicht);           
                dt_auftraguebersicht = ds_auftraguebersicht.Tables[0];      
                dataGridView2.DataSource = dt_auftraguebersicht;             
                conn.Close();

                if (Form1.kunde != "mayer")
                {
                    auftrag_dataviewii();
                }
                else
                {
                    dataGridView2.Columns[0].Width = 40;
                    dataGridView2.Columns[1].Width = 70;
                    dataGridView2.Columns[2].Width = 70;  //renummer
                    dataGridView2.Columns[3].Width = 70;
                    dataGridView2.Columns[4].Width = 80;   //tel vorkasse
                    dataGridView2.Columns[4].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
                    dataGridView2.Columns[5].Width = 80;      //tel 2 zahlungsart
                    dataGridView2.Columns[5].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
                    dataGridView2.Columns[5].ValueType = typeof(double);  //bringt leider keine veränderung
                    dataGridView2.Columns[6].Width = 100;        //
                    dataGridView2.Columns[7].Width = 130//bez
schnipp
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4700
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Do 02.03.17 21:32 
Kann ich nicht nachvollziehen.
So gerade eine frische DataGridView aus der ToolBox gefüllt und ich kann korrekt sortieren.

ausblenden C#-Quelltext
1:
2:
3:
4:
Random rnd = new Random(DateTime.Now.Millisecond);
DataTable table = new DataTable();            
table.Columns.Add(new DataColumn() { ColumnName = "Zahlungsart", DataType = typeof(double) });
dataGridView1.DataSource = Enumerable.Range(1,10).Select(x => { var row = table.NewRow(); row["Zahlungsart"] = rnd.NextDouble(); return row; }).CopyToDataTable<DataRow>();

Für diesen Beitrag haben gedankt: tomycat
tomycat Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 265
Erhaltene Danke: 1



BeitragVerfasst: Fr 03.03.17 20:43 
thx,
ich glaube wir reden aneinander vorbei.
Ich klicke auf den Header (Nummer 5) Dann soll diese Spalte nach Zahlen sortiert werden.
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4700
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Fr 03.03.17 21:17 
Zitat:
Ich klicke auf den Header (Nummer 5) Dann soll diese Spalte nach Zahlen sortiert werden.


Genau das kann das Grid standardmäßig auch in meinem gezeigten Code. Zum testen habe ich halt nur 1 Spalte benutzt.

Wenn dein Grid das nicht kann hast du dir deine Spalten irgendwie verbastelt. Aber ein Standardgrid mit Standardspalten mit Standardeinstellungen kann das einfach.

Für diesen Beitrag haben gedankt: tomycat