我有一个winforms应用程序,它有一个tabcontrol,有2页。
在这两个页面上,我都有一个显示在名为TaskTable的数据网格视图中的数据。数据从TaskDataSet显示,该数据绑定到XML文件。
但是,目前显示数据的唯一方法是单击Read XML按钮,这样当首次点击任一页面时,datagridview为空,我不喜欢。
单击任一页面时,我希望datagridview自动填充。
任何想法如何做到这一点:
如果有帮助,这是我的Read 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
}
}
非常感谢任何帮助!
答案 0 :(得分:0)
快速谷歌搜索显示TabControl引发了许多事件 - 以下可能是最合适的事件: http://msdn.microsoft.com/en-us/library/system.windows.forms.tabcontrol.selected.aspx
连接到该事件并加载xml。