下面的函数在第一次执行时可以将DataGridView的内容显示,第二次执行时就不行了,请高手指点一下!
        private void button1_Click(object sender, EventArgs e)
        {
            int table = 1;            textBox1.Text = "";
            openFileDialog1.ShowDialog();
            textBox1.Text = openFileDialog1.FileName;
            try
            {
                FileStream XmlFS = new FileStream(textBox1.Text.ToString(), FileMode.Open, FileAccess.Read);//打开指定的XML文件
                
                dataSetXml.Clear();//清理dataSet
                for (int tableremove = dataSetXml.Tables.Count - 1; tableremove > 1;tableremove-- ) dataSetXml.Tables.RemoveAt(tableremove);//只保留前2个表,删除其余表
                sqlConnectionU8002.Open();                xmlReader = new XmlTextReader(XmlFS);                                while (xmlReader.Read())
                {
                    switch (xmlReader.NodeType)//判断结点
                    {
                        case XmlNodeType.Element:
                             switch (xmlReader.Name)
                            { 
                                case "head":                //表头记录开始
                                    dataTableHead.Rows.Add();             //新增Head表(第0个表)中增加一条记录                       
                                    string strTable = "dataTableBody" + table.ToString();
                                    DataTable dt = dataTableBody.Clone();//用第1个的结构,构建新表
                                    dt.TableName = strTable;
                                    dataSetXml.Tables.Add(dt);//将新表加入表DataSet
                                    table++;
                                    break;
                                case "orderCode":           //订单号
                                    xmlReader.Read();
                                ......
                                case "seq":                 //表体中新一条记录开始
                                    dataSetXml.Tables[table].Rows.Add();//新增Body表中的一条记录
                                dataSetXml.Tables[table].Rows[dataSetXml.Tables[table].Rows.Count - 1][dataColumnHead.Ordinal] = dataTableHead.Rows[dataTableHead.Rows.Count - 1][dataColumnOID];
                                    xmlReader.Read();
                                 ......
                              }
                           }
                sqlConnectionU8002.Close();                
                dataGridView2.DataMember = dataSetXml.Tables[2].TableName;                
                dataGridView2.Refresh();
                return;
}