Сортировать DataGrid, нажав на заголовки столбцов в Compact Framework? - PullRequest
2 голосов
/ 25 марта 2009

Возможно ли это даже в .Net Compact Framework? Есть все виды вещей, которые он упускает при сравнении с Desktop Framework.

Мне интересно, получил ли Compact Framework преимущество над этим запросом в нашем мобильном приложении.

Ответы [ 2 ]

5 голосов
/ 23 сентября 2013

Поскольку этот веб-сайт больше недоступен, вот содержимое:

    public static void SortDataGrid(object sender, MouseEventArgs e)
    {
        DataGrid.HitTestInfo hitTest;
        DataTable dataTable;
        DataView dataView;
        string columnName;
        DataGrid dataGrid;

        // Use only left mouse button clicks
        if (e.Button == MouseButtons.Left)
        {
            // Set dataGrid equal to the object that called this event handler
            dataGrid = (DataGrid)sender;

            // Perform a hit test to determine where the mousedown event occurred
            hitTest = dataGrid.HitTest(e.X, e.Y);

            // If the MouseDown event occurred on a column header,
            // then perform the sorting operation.
            if (hitTest.Type == DataGrid.HitTestType.ColumnHeader)
            {
                // Get the DataTable associated with this DataGrid.
                dataTable = (DataTable)dataGrid.DataSource;

                // Get the DataView associated with the DataTable.
                dataView = dataTable.DefaultView;

                // Get the name of the column that was clicked.
                if (dataGrid.TableStyles.Count != 0)
                    columnName = dataGrid.TableStyles[0].GridColumnStyles[hitTest.Column].MappingName;
                else
                    columnName = dataTable.Columns[hitTest.Column].ColumnName;

                // If the sort property of the DataView is already the current
                // column name, sort that column in descending order.
                // Otherwise, sort on the column name.
                if (dataView.Sort == columnName)
                    dataView.Sort = columnName + " DESC";
                else
                    dataView.Sort = columnName;
            }
        }
    }
3 голосов
/ 30 марта 2009

Вы имеете в виду что-то вроде этого ?

...