private void ReportInitialize
{....内容}
我想在上面带入一个字符串变量,改为了:private void ReportInitialize(string abc)
然后引用的时候用到ReportInitialize("aaa");
为什么提示出错信息:应输入方法名称
{....内容}
我想在上面带入一个字符串变量,改为了:private void ReportInitialize(string abc)
然后引用的时候用到ReportInitialize("aaa");
为什么提示出错信息:应输入方法名称
是你自己定义的属性吗?
ReportInitialize是继承的什么类或接口?还是你自己定义的方法?
{
public string P_str_sql;
public frmReport()
{
InitializeComponent(); Report.Initialize += new _IGridppReportEvents_InitializeEventHandler(ReportInitialize(P_str_sql)); //这里引用方法 } private void ReportInitialize(string test) //这里定义方法,加上参数后出错,不加可以运行.
{
MessageBox.Show(test);
}
出错提示为:应输入方法名称
Report.Initialize += new _IGridppReportEvents_InitializeEventHandler(ReportInitialize);
如果一定要加参数 要改声明的那个delegate 方法加参数.
Report.Initialize += new _IGridppReportEvents_InitializeEventHandler(ReportInitialize); //这里引用方法 } private void ReportInitialize() //这里定义方法,加上参数后出错,不加可以运行.
{
MessageBox.Show("ss");
}
哪里看出是委托呢?没有delegate关键字呀
{
public string P_str_sql;
public frmReport()
{
InitializeComponent(); Report.Initialize += new _IGridppReportEvents_InitializeEventHandler(ReportInitialize());
} private void ReportInitialize() //这里定义方法,加上参数后出错,不加可以运行.
{
MessageBox.Show(P_str_sql);
}
这样不也能达到你要的效果吗
Report.Initialize += new _IGridppReportEvents_InitializeEventHandler(ReportInitialize());
这段代码在该程序的其他位置也要调用到,要动态改变sql语句,所以如果直接在方法里面就绑定全局变量的,那么后面就没法动态改变该方法中的sql变量了,没法做到动态改变表格内容了。具体用了mdi更改那个全局变量,相应代码如下:
if (frmSearch.ShowDialog() == DialogResult.OK)
{
P_str_sql = frmSearchInfo.G_str_sql;
if (P_str_sql != "")
{
Report.Initialize += new _IGridppReportEvents_InitializeEventHandler(ReportInitialize(P_str_sql));//这里要让刚才的方法动态改变数据内容
}
}
不过P_str_sql是定义的public string的.我其实就是想在ReportInitialize()方法里面定义一个string的变量字段,然后后面引用的时候改变那个P_str_sql的值,然后在调用下带参数的方法改变表格内容.不过现在 _IGridppReportEvents_InitializeEventHandler是没办法改了,这个委托也是必须要用到东西,还有什么办法能够解决那个方法传参问题吗?