Заставить пользователя прокрутить все XtraGridControl или GridControl - PullRequest
0 голосов
/ 27 февраля 2012

У меня есть XtraGridControl в winform, мне нужно добавить метод проверки, который должен гарантировать, что пользователь хотя бы просматривал или перемещался по всем данным внутри XtraGrid, а затем предоставлял возможность сохранения данных.

Мне нужно знать, прокрутил ли пользователь весь путь по вертикальной оси внутри XTraGridControl, а затем показать пользователю возможность сохранения данных.

Я видел такое поведение в некоторыхустановщики, где вы должны прокрутить весь текст договора до того, как кнопка «Далее» будет включена.Как я уже говорил, мне нужно делать это не в RichTExtBox, а в XtragridControl.

Спасибо за вашу помощь.

1 Ответ

1 голос
/ 28 февраля 2012

Может быть попробовать это:

void Main()
{
    new MyForm().Show();
}

public class MyForm : Form
{
    public MyForm()
    {
        var grid = new GridControl();
        var gridview = new DevExpress.XtraGrid.Views.Grid.GridView(grid);
        var button = new Button { Enabled = false, Text = "Next", Dock= DockStyle.Bottom };

        gridview.TopRowChanged += (o, e) => 
        {
            int bottomRowIndex = gridview.TopRowIndex + ((GridViewInfo)gridview.GetViewInfo()).RowsInfo.Count;
            if (bottomRowIndex == gridview.RowCount)
            {
                button.Enabled = true;
            }
        };

        grid.MainView = gridview;
        grid.DataSource = new [] {9,8,7,6,5,4,3,2,1};

        Controls.Add(grid);
        Controls.Add(button);
    }
}
...