use*_*487 7 c# reportviewer rdlc winforms
我有一个可自定义的rdlc报告,用户可以在其中选择要显示的列.所有列都包含在报表设计器中,我使用参数根据用户的选择隐藏/显示列.报告正确呈现,并且仅显示所选列,但是,报告的总宽度与所有列都可见时相同.这意味着报表可能在所选列的右侧有一个巨大的空白区域,看起来非常愚蠢.
所以我的问题是:有没有办法在运行时动态调整报告宽度,以避免报告中出现大的空白区域?我试图通过为报表正文的宽度指定一个参数来在设计器中执行此操作....但这是不允许的.宽度不能是设计器中的任何类型的表达式,只允许实际值.
有什么建议?
报表的实际宽度在设计器中是固定的,因此报表本身无法在运行时调整大小。您是对的,在报表设计器中无法分配表达式或动态分配宽度值到报表、页面或正文。
但是,rdlc 报告的 CONTAINER 宽度可以在运行时控制。如果将报表查看器放入面板控件中,您应该能够实现所需的输出。由于您的 UI 允许用户决定要包含哪些列,因此您应该能够将宽度值附加到每个可选列并对这些值求和并根据需要调整容器的大小。
请记住,如果您重新调整容器的大小,报表中的空白问题就会变成表单上的空白问题。报告周围仍然有一个紧密的框架,框架外有空白区域,这很可能就是您想要的。
HTH 和干杯,
中电公司