DataGridView не хочет сортировать список внутри «DataGridView необходимо подключиться к IBinding-List» - PullRequest
0 голосов
/ 20 декабря 2018

Так что я просто пытался, что если вы нажмете headColumns dataGridView, он должен отсортировать автоматически, что не произойдет.Он говорит, что я должен связать это с IBindinglist, как сделать это лучше всего.Мэйби, ответ очень прост, и я просто не вижу его, но я надеюсь, что здесь я помогу, потому что я однажды сижу на нем.

Я просто пытаюсь отсортировать элементы в моем DataGridView с моим DataBindingList.Я попробовал сначала без, но теперь это связано с этим.Я пытался создать IBindingList, что ошибка хочет, чтобы я сделал, но я не знаю, как мне сделать это лучше всего.Как мне лучше отсортировать мой DataGridView?

, это ViewModel:

class MainScreenViewModel
    {

    private Webservice _AusgabeListe = new Webservice();
    public Webservice AusgabeListe
    {
        get
        {
            return _AusgabeListe;
        }
        set
        {
            if (value == _AusgabeListe) return;
            _AusgabeListe = value;
            OnPropertyChanged();
        }
    }


    private BindingList<Webservice> _ausgabeResultListe = new BindingList<Webservice>();
    public BindingList<Webservice> AusgabeResultListe
    {

        get
        {
            return _ausgabeResultListe;
        }
        set
        {
            if (value == _ausgabeResultListe) return;
            _ausgabeResultListe = value;
            OnPropertyChanged();
        }
    }

    private Webservice_AuswahlListe = new Webservice();
    public WebserviceAuswahlListe
    {
        get
        {
            return _AuswahlListe;
        }
        set
        {
            if (value == _AuswahlListe) return;
            _AuswahlListe = value;
            OnPropertyChanged();
        }

    }


}

и главный экран, где gridview1:

public partial class MainScreen 
    { 

private void dataGridView1_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
    {

        if (dataGridView1.Columns[e.ColumnIndex].SortMode != DataGridViewColumnSortMode.NotSortable)
        {
            if (e.ColumnIndex == newSortColumn)
            {
                if (newColumndirection == ListSortDirection.Ascending)
                {
                    newColumndirection = ListSortDirection.Descending;
                }
                else
                    newColumndirection = ListSortDirection.Ascending;

            }
            newSortColumn = e.ColumnIndex;

            switch (newColumndirection)
            {
                case ListSortDirection.Ascending:
                    dataGridView1.Sort(dataGridView1.Columns[newSortColumn], ListSortDirection.Ascending);
                    break;
                case ListSortDirection.Descending:
                    dataGridView1.Sort(dataGridView1.Columns[newSortColumn], ListSortDirection.Descending);
                    break;
            }

        }
    }

}

...