在TabControl上自动将xml读入Datagridview onClick

时间:2012-03-08 12:31:22

标签: c# windows datagridview

我有一个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
        }

    }

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

快速谷歌搜索显示TabControl引发了许多事件 - 以下可能是最合适的事件: http://msdn.microsoft.com/en-us/library/system.windows.forms.tabcontrol.selected.aspx

连接到该事件并加载xml。