Pergunta

Eu criei um relatório local sobre uma fonte de dados que possui um campo chamado "RelityPath". Quando meu aplicativo WinForms renderiza o relatório, ele exporta arquivos para o local especificado no campo RelityPath. No construtor de relatórios, defina a navegação | Ação do hiperlink | pule para o URL para "= campos! RelityPath.Value" e defina a propriedade EnableHyperLink do relatório como true. Sempre que meu aplicativo renderiza o relatório, no entanto, o hiperlink não está ativo. Se eu codificar o salto para um caminho absoluto, no entanto, ele funciona muito bem. O relatório não renderiza um hiperlink com um caminho relativo?

Foi útil?

Solução

Eu tenho lutado com o mesmo problema, após o qual cheguei à conclusão de que o relatório não suporta hiperlinks com o caminho relativo. Para resolver esse problema, adicionando um código personalizado que recupere o caminho relativo e concitene com os valores do campo que você deseja fazer parte do URL - pelo menos que funciona para mim.

Shaddie

Outras dicas

Eu encontrei o mesmo problema. Para contornar isso, criei um parâmetro de relatório chamado "Absolutepath".

Vá para a visualização de design do arquivo .rdlc. Na guia "Dados do relatório", você verá um nó "parâmetros". Clique com o botão direito do mouse em:

  1. Adicionar parâmetro ...
  2. Na guia Geral, digite "Absolutepath" na propriedade Name.
  3. Clique em "Valores padrão"
  4. Selecione o botão "Especificar valores".
  5. Adicione um novo valor "Absolutepath".

Na expressão de ação da sua caixa de texto, adicione algo assim = "JavaScript: void (window.open ('" + Parâmetros! AbsolutePath.Value + "/yourpage.aspx?id=" + campos! id.value + "',' _blank '))"

Você pode ver que o novo parâmetro "absolutpath" está disponível para adicionar à sua expressão.

Agora, você precisará passar o valor para o paramter do relatório, assim.

    string baseUrl = Request.Url.GetLeftPart(UriPartial.Authority);
    var param = new ReportParameter("AbsolutePath", baseUrl);
    this.ReportViewer.LocalReport.SetParameters(param);

Basta usar a variável global Globals!ReportServerUrl na expressão

= Globals!ReportServerUrl + "yourpath"
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top