c # - Læs automatisk xml i Datagridview onClick på TabControl

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg har en winforms ansøgning, der har en tabkontrol med 2 sider.


På begge sider har jeg data, der vises i et datagridview kaldet TaskTable. Dataene vises fra TaskDataSet, som er bundet til en XML-fil.


Men i øjeblikket er den eneste måde at vise dataene på at klikke på Læs XML-knappen, så når de to sider først klikkes, er datagridvisningen tom, som jeg ikke kan lide.


Når de to sider er klikket, vil jeg datagridview automatisk skal udfylde.


Eventuelle ideer til at gøre dette:


Her er min kode til Read XML-knappen, hvis det hjælper:


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
        }

    }


Enhver hjælp ville blive meget værdsat!

Bedste reference


Hurtig google-søgning viser, at TabControl rejser et antal begivenheder - det følgende er sandsynligvis det mest hensigtsmæssige:
http://msdn.microsoft.com/en-us/library/system.windows.forms.tabcontrol.selected.aspx[2]


Tilslut til den begivenhed og indlæs din xml.