Devexpress: для нестатического поля требуется ссылка на объект

Я продолжаю получать эту ошибку в своем коде devexpress. Вот код, который я вставил:

using System;
using System.Data;
using System.Drawing;
using System.Windows.Forms;
using System.Collections;
using System.ComponentModel;
using DevExpress.XtraReports.UI;
using System.Drawing.Printing;

namespace DD
{
    public partial class MasterReport : DevExpress.XtraReports.UI.XtraReport
    {
        //detailReport.catName.Value = ((DataRowView)e.Brick.Value).Row["EcoYear"].ToString();
        public MasterReport()
        {
            InitializeComponent();

        }

        private void xrLabel1_BeforePrint(object sender, PrintEventArgs e)
        {
         //   XRLabel l = sender as XRLabel;
         //   l.Tag = GetCurrentRow();

           ((XRLabel)sender).Tag = GetCurrentRow();
        }

        private void xrLabel1_PreviewClick(object sender, PreviewMouseEventArgs e)
        {
            DetailReport detailReport = new DetailReport();
            detailReport.CaID.Value = (int)((DataRowView)e.Brick.Value).Row["CaseID"];
            detailReport.EYear.Value = (int)((DataRowView)e.Brick.Value).Row["EcoYear"];
            detailReport.ShowPreviewDialog();
        }

        private void xrLabel1_PreviewMouseMove(object sender, PreviewMouseEventArgs e)
        {
            Cursor.Current = Cursors.Hand;
        }

        private void xrPictureBox1_BeforePrint(object sender, PrintEventArgs e)
        {
            ((XRLabel)sender).Tag = GetCurrentRow();
        }

        private void xrPictureBox1_PreviewClick(object sender, PreviewMouseEventArgs e)
        {
            PW pw = new PW();
            PW.CaID.Value = (int)((DataRowView)e.Brick.Value).Row["CaseCaseID"];
            PW.ShowPreviewDialog();
        }

        private void xrPictureBox1_PreviewMouseMove(object sender, PreviewMouseEventArgs e)
        {
            Cursor.Current = Cursors.Hand;
        }

    }
}

PW.CaID.Value и PW.ShowPreviewDialog(); это строки, которые дают мне эту ошибку. Возможно, я делаю это неправильно. Что я хотел сделать, так это щелкнуть значок (xrPictureBox1) в основном отчете и вызвать подотчет (PW). Я сделал это в приведенном выше коде для другого подотчета (detailreport). Спасибо заранее за вашу помощь.


person Roland P    schedule 10.10.2012    source источник


Ответы (1)


Ваш код должен выглядеть так:

PW pw = new PW();
pw.CaID.Value = (int)((DataRowView)e.Brick.Value).Row["CaseCaseID"];
pw.ShowPreviewDialog();

Обратите внимание на случай с PW/pw.

person Joel Lucsy    schedule 10.10.2012