在这个方法中实例了一个dataSet1
        private void FormDebug_Load(object sender, EventArgs e)
        {
            DataSet dataSet1 = new DataSet();
            dataSet1.ReadXml(Application.StartupPath + @"\CH1ItemRecord.xml");
        }在这个方法中我想调用怎么弄呀。。下面的不行
        private void radioButtonCH1_Click(object sender, EventArgs e)
        {
            this.dataGridViewDebug.DataSource = dataSet1.Tables[0];
        }

解决方案 »

  1.   

    把dataset拉出来
    DataSet dataSet1 = new DataSet(); 
    private void FormDebug_Load(object sender, EventArgs e) 
            { 
                dataSet1.ReadXml(Application.StartupPath + @"\CH1ItemRecord.xml"); 
            } 
    private void radioButtonCH1_Click(object sender, EventArgs e) 
            { 
                this.dataGridViewDebug.DataSource = dataSet1.Tables[0]; 
            }
      

  2.   

    把DataSet dataSet1 = new DataSet();拿到FormDebug_Load外面去定义,即把它定义为类的变量。
      

  3.   

    在方法体外 即类中声明:
    private DataSet dataSet1 =  new DataSet(); 
      

  4.   

    private void FormDebug_Load(object sender, EventArgs e)
    {
          DataSet dataSet1 = new DataSet();
          dataSet1.ReadXml(Application.StartupPath + @"\CH1ItemRecord.xml");

    你这个是事件吧,自己写个方法不就可以调用了。
    或者把DataSet弄成成员变量也可以
      

  5.   

    全局DataSet在方法外边定义DataSet dataSet1;
    FormDebug_Load
    里的DataSet dataSet1 = new DataSet(); 换成dataSet1 = new DataSet(); 
      

  6.   

    将这个写成一个方法
    DataSet dataSet1 = new DataSet(); 
                dataSet1.ReadXml(Application.StartupPath + @"\CH1ItemRecord.xml"); 在任何一个方法都可以调用了.public DateSet GetSet()
    {
    DataSet dataSet1 = new DataSet(); 
                dataSet1.ReadXml(Application.StartupPath + @"\CH1ItemRecord.xml"); 
    return dataSet1;
    }
      

  7.   

    .......当然不行。都不知道你要干什么??        private void radioButtonCH1_Click(object sender, EventArgs e) 
            { 
                DataSet dataSet1 = new DataSet(); 
                dataSet1.ReadXml(Application.StartupPath + @"\CH1ItemRecord.xml"); 
                
                this.dataGridViewDebug.DataSource = dataSet1.Tables[0]; 
            }这样不行么???
      

  8.   

    把dataset拉出来 不行,出现  无法找到列表0
      

  9.   

    如果2个方法在一个类,那么dataSet1设成全局变量要是2个方法不在一个类 ,那你就只能再取了,或传值过来。
      

  10.   

    再同一个类里的话在方法的外面定义dataset。可以这样写:
       private static DataSet dataSet1;
       private void FormDebug_Load(object sender, EventArgs e) 
            { 
                dataSet1  = new DataSet(); 
                dataSet1.ReadXml(Application.StartupPath + @"\CH1ItemRecord.xml"); 
            }         private void radioButtonCH1_Click(object sender, EventArgs e) 
            { 
                this.dataGridViewDebug.DataSource = dataSet1.Tables[0]; 
            }
      

  11.   

            private void radioButtonCH1_Click(object sender, EventArgs e) 
            {
                dataSet1.ReadXml(Application.StartupPath + @"\CH1ItemRecord.xml"); 
                this.dataGridViewDebug.DataSource = dataSet1.Tables[0]; 
            }这样子的话就行了。。但每次单击都要去读XML文件。太慢了,我只想在窗体加载时读就行了
      

  12.   

    搞定要放在这里面
            DataSet dataSetCH6 = new DataSet();        public FormDebug()
            {
                InitializeComponent();
                dataSet1.ReadXml(Application.StartupPath + @"\CH1ItemRecord.xml");
            }
    不要放在  Form_Load中就行