WPF DataGrid заполняется после загрузки окна, но как выбрать конкретную строку после загрузки - PullRequest
0 голосов
/ 05 ноября 2019

Итак, у меня DataGrid с DataContext, установленным на DataTable, и загружается через FillJobsGrid() при Window_Loaded. Это работает нормально, но я хотел иметь возможность выбрать определенный элемент при запуске через командную строку, часть args работает без проблем, только 2 args с переключателем и значением. Значение - это идентификатор строки в JobsGrid, что я не вижу, как выбрать эту строку. перед запуском BackUpSelectedClicked() Для вдохновения среди многих других страниц я посмотрел здесь , но как бы я ни подходил к этому, у меня никогда не было datagrid.Items.count. Я предполагаю, что это событие, из которого запускается мой код. Перед модом у меня было:

private void FillJobsGrid()
{
    using (MySqlClientWrapper db = new MySqlClientWrapper(MyConnString))
    {
        string sql = "SELECT * FROM backupjobs";
        SetJobsTable(db.GetDataTable(sql));
        JobsGrid.DataContext = GetJobsTable();
    }

}

Код, который я надеялся выполнить, был:

if (RunFromCommandLine)
{
    foreach (DataRowView job in JobsGrid.Items)
    {
        if (job != null)
        {
            DataRow jobRow = job.Row;
            long id = Convert.ToInt32(jobRow["Id"]);

            if (Convert.ToInt32(CommandLineJobId) == id)
            {
                JobsGrid.SelectedItem = job;
            }
        }
    }
    BackUpSelectedClicked();
}

Я попытался вставить его в FillJobsGrid и поместить в DataGrid.DataContextChanged, Initialised, Loaded и т. Д. Любая помощь приветствуется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...