报告查看器的点击事件?
Click event for Report Viewer?
是否有报告查看器的点击 event/property 可以 return 告诉我他们点击了什么?
报表设计者仅限于:
- 去报告
- 转到书签
- 转到url
我的报表有一个文件名字段,我想写入我的双击事件以在 DoubleClick 上打开包含的文件夹。
我不需要有关打开文件夹的代码方面的帮助,只需获取双击的内容即可打开正确的文件夹。像
private void rptvReport_DoubleClick(object sender, EventArgs e)
{
MessageBox.Show(rptvReport.**CURRENTITEM**.text);
}
在您的报告中,将文本框操作设置为 "go to Url",并将 url 的表达式设置为:
="http://someaction?rowid="+Trim(Str(Fields!SomeIdField.Value))
然后在您的表单中使用报表查看器控件的 "Hyperlink" 事件:
uxReportViewer.Hyperlink += uxReportViewer_Hyperlink;
在事件处理程序中:
void uxReportViewer_Hyperlink(object sender, HyperlinkEventArgs e)
{
Uri link = new Uri(e.Hyperlink);
if (link.Authority == "someaction")
{
e.Cancel = true; //Cancel the event to avoid opening the browser
char[] sep=new char[] {'='};
var param=link.Query.Split(sep);
string rowId=param[1];
MessageBox.Show("You clicked on Id: "+rowId.ToString());
}
}
您可以针对不同的操作和多个参数扩展它
是否有报告查看器的点击 event/property 可以 return 告诉我他们点击了什么?
报表设计者仅限于:
- 去报告
- 转到书签
- 转到url
我的报表有一个文件名字段,我想写入我的双击事件以在 DoubleClick 上打开包含的文件夹。
我不需要有关打开文件夹的代码方面的帮助,只需获取双击的内容即可打开正确的文件夹。像
private void rptvReport_DoubleClick(object sender, EventArgs e)
{
MessageBox.Show(rptvReport.**CURRENTITEM**.text);
}
在您的报告中,将文本框操作设置为 "go to Url",并将 url 的表达式设置为:
="http://someaction?rowid="+Trim(Str(Fields!SomeIdField.Value))
然后在您的表单中使用报表查看器控件的 "Hyperlink" 事件:
uxReportViewer.Hyperlink += uxReportViewer_Hyperlink;
在事件处理程序中:
void uxReportViewer_Hyperlink(object sender, HyperlinkEventArgs e)
{
Uri link = new Uri(e.Hyperlink);
if (link.Authority == "someaction")
{
e.Cancel = true; //Cancel the event to avoid opening the browser
char[] sep=new char[] {'='};
var param=link.Query.Split(sep);
string rowId=param[1];
MessageBox.Show("You clicked on Id: "+rowId.ToString());
}
}
您可以针对不同的操作和多个参数扩展它