Feedback

C# - Datagridview Sortierung, Selektion und Scrollbarposition

Veröffentlicht von am 04.03.2016
(0 Bewertungen)
C#-Datagridview Sortierung, Selektion und Scrollbarposition speichern und bei Update/ Refresh der Datagridview wieder setzen.
GFU-Schulungen  [Anzeige]

Angular mit ASP.NET Core für .NET-Entwickler

.NET ist Ihnen vertraut, als Entwickler verfügen Sie über einschlägige Kenntnisse. In diesem Kurs lernen Sie nun, Angular in .NET-Umgebungen einzusetzen. Sie verstehen das Konzept von Angular und integrieren das clientseitige JS-Framework sicher in.NET-Anwendungen.

JavaScript für .NET-Entwickler

Sie sind .NET-Entwickler und nun stehen Sie vor der Aufgabe, JavaScript in Ihre Arbeit einzubinden. Die Schulung vermittelt Ihnen die JavaScript Grundlagen und die Funktionen der Scriptsprache. Sie wissen, wie objektorientierte Programmierung in JavaScript funktioniert und lernen abschließend Best Practicies Fälle kennen.

DataGridViewColumn oldColumn = new DataGridViewColumn();
                    SortOrder sortOrder = new SortOrder();
                    List<int> selectedItems = new List<int>();
                    int saveRow = 0;

 //Aktuelle Sortierung zwischenspeichern
                        oldColumn = dataGridView.SortedColumn;
                        sortOrder = dataGridView.SortOrder;

                        if (dataGridView.SelectedRows.Count > 0)
                        {
                            foreach (DataGridViewRow row in dataGridView.SelectedRows)
                            {
                                selectedItems.Add(row.Index);
                            }
                        }
                        //Aktuelle erste angezeigte Zeile speichern
                        if (dataGridView.Rows.Count > 0)
                        {
                            if ((dataGridView.FirstDisplayedCell != null))
                            {
                                saveRow = dataGridView.FirstDisplayedCell.RowIndex;
                            }
                        }

//Your Code

//Sortierung anwenden
                        if ((oldColumn != null))
                        {
                            switch (sortOrder)
                            {
                                case SortOrder.None:
                                    break;
                                case SortOrder.Ascending:
                                    dataGridView.Sort(oldColumn, ListSortDirection.Ascending);
                                    break;
                                case SortOrder.Descending:
                                    dataGridView.Sort(oldColumn, ListSortDirection.Descending);
                                    break;
                            }
                        }
                        else
                        {
                            dataGridView.Sort(dataGridView.Columns[4], ListSortDirection.Ascending);
                        }
                        //Alle SelectedRows resetten
                        foreach (DataGridViewRow row in dataGridView.SelectedRows)
                        {
                            row.Selected = false;
                        }
                        //SelectedRows wieder setzen
                        if (selectedItems.Count > 0)
                        {
                            foreach (int item in selectedItems)
                            {
                                if (dataGridView.Rows.Count > 0)
                                {
                                    if (dataGridView.Rows.Count - 1 >= item)
                                    {
                                        dataGridView.Rows[item].Selected = true;
                                    }
                                }
                            }
                        }
                        //Scrollbar wieder richtig setzen
                        if (saveRow != 0 & saveRow < dataGridView.Rows.Count)
                        {
                            dataGridView.FirstDisplayedScrollingRowIndex = saveRow;
                        }

Kommentare zum Snippet

 

Logge dich ein, um hier zu kommentieren!