Автоматическое чтение XML в Datagridview по щелчку TabControl - PullRequest
0 голосов
/ 08 марта 2012

У меня есть приложение winforms, которое имеет один tabcontrol с 2 страницами.

На обеих страницах у меня есть данные, которые отображаются в виде таблицы данных под названием TaskTable.Данные отображаются из TaskDataSet, который привязан к XML-файлу.

Однако в настоящий момент единственным способом отображения данных является нажатие кнопки «Читать XML», чтобы при первом нажатии любой из страниц был нажатdatagridview пусто, что мне не нравится.

Когда нажата любая из страниц, я хочу, чтобы datagridview автоматически заполнялось.

Любые идеи, как это сделать:

Вот мой код для кнопки «Читать XML», если это поможет:

private void ReadXmlButton_Click(object sender, EventArgs e) // event handler to display saved tasks.
    {

        if (TaskTable.Rows.Count == 0)
        {
            DataGridViewCheckBoxColumn column = new DataGridViewCheckBoxColumn(); // checkbox column = 'column'

            {
                column.HeaderText = "Complete";
                column.Name = "Complete";
                column.AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells;
                column.FlatStyle = FlatStyle.Standard;
                column.ThreeState = false;
                column.CellTemplate = new DataGridViewCheckBoxCell();
                column.CellTemplate.Style.BackColor = Color.White;
                column.CellTemplate.Style.ForeColor = Color.Green;
            }

            TaskTable.Columns.Insert(0, column); // Column of checkboxes.

            TaskDataSet.Clear(); // Clears dataset
            TaskDataSet.ReadXml(fileURL);
            TaskTable.DataSource = TaskDataSet;
            TaskTable.DataMember = "Task";
            TaskTable.Columns[5].Visible = false; // hides numeric priority - only used for sorting
        }
        else
        {
            TaskDataSet.Clear(); // Clears dataset
            TaskDataSet.ReadXml(fileURL); // reads xml to retrieve any additional tasks that have been added to the XML file.                      
            TaskTable.DataSource = TaskDataSet;
            TaskTable.DataMember = "Task";
            TaskTable.Columns[5].Visible = false; // hides numeric priority - only used for sorting
        }

    }

Любая помощь будет принята с благодарностью!

1 Ответ

0 голосов
/ 08 марта 2012

Быстрый поиск в Google показывает, что TabControl вызывает несколько событий - вероятно, наиболее подходящим является следующее: http://msdn.microsoft.com/en-us/library/system.windows.forms.tabcontrol.selected.aspx

подключитесь к этому событию и загрузите ваш xml.

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