点击TabControl自动将xml读取到Datagridview中

本文关键字:读取 Datagridview xml TabControl 点击 | 更新日期: 2023-09-27 18:27:04

我有一个winforms应用程序,它有一个带2页的选项卡控件。

在这两个页面上,我都有显示在名为TaskTable的数据网格视图中的数据。数据是从绑定到XML文件的TaskDataSet中显示的。

然而,目前显示数据的唯一方法是单击"读取XML"按钮,因此当第一次单击其中任何一个页面时,数据网格视图都是空的,这是我不喜欢的。

当点击任意一个页面时,我希望数据网格视图自动填充。

如何做到这一点:

如果有帮助的话,下面是我的"读取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
        }
    }

如有任何帮助,我们将不胜感激!

点击TabControl自动将xml读取到Datagridview中

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

连接到该事件并加载xml。