Usuário com melhor resposta
Qual problema dessa expressão?

Pergunta
-
=iif(Fields!nome.Value.ToString().Length > 32, Fields!nome.Value.ToString().Substring(0,32), Fields!nome.Value.ToString())
Estou com um grande problema com essa expressão, não sei oq está dando de errado.
A idéia é a seguinte : Se a variavel tiver mais de 32 caracteres ele pega apenas os 32 primeiros, caso tenha menos de 32 caracters ele pega a variavel sem restrição.
Eu to fazendo isso para evitar o salto de linha quando vem nomes muito grandes, por exemplo: Astrogildo Vascaino da Silva Ribeiro de Magalhães Cruz, esse nome ocuparia 2 linhas ficando um espaço feio entre duas linhas no relatório.
Se alguem tiver outra idéia para resolver isso, poste aew.
Respostas
-
Voce nao pode setar a propriedade "Cangrow" para false?
Anyway, você pode também usar a seguinte expressão:
=iif(Len(Fields!nome.Value.ToString()) > 32, Left(Fields!nome.Value.ToString(),32), Fields!nome.Value.ToString())
Dica, utilize a janela de expressoes para criar suas expressoes. Você pode escolher as funções e ver qual a sintaxe correta.
Att
Guilherme
Todas as Respostas
-
Renan:
Dê uma olhada neste código.
Code Blockprivate void button1_Click(object sender, EventArgs e)
{
string Name1 = "";
string Name2 = "";
Name1 = Convert.ToString("Astrogildo Vascaino da Silva Ribeiro de Magalhães Cruz").Substring(0, 32).Trim();
Name2 = Convert.ToString("Astrogildo Vascaino da Silva Ribeiro de Magalhães Cruz").Substring(0, 32);
MessageBox.Show(Name1 + char.ConvertFromUtf32(13) + Name2, "Sem Trim", MessageBoxButtons.OK, MessageBoxIcon.Information);
Name1 = Convert.ToString("Astrogildo Vascaino da Silva Ribeiro de Magalhães Cruz").Substring(0,32).Trim();
Name2 = Convert.ToString("Astrogildo Vascaino da Silva Ribeiro de Magalhães Cruz").Substring(0, 32);
MessageBox.Show(Name1 + char.ConvertFromUtf32(13) + Name2, "Com Trim", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
-
Voce nao pode setar a propriedade "Cangrow" para false?
Anyway, você pode também usar a seguinte expressão:
=iif(Len(Fields!nome.Value.ToString()) > 32, Left(Fields!nome.Value.ToString(),32), Fields!nome.Value.ToString())
Dica, utilize a janela de expressoes para criar suas expressoes. Você pode escolher as funções e ver qual a sintaxe correta.
Att
Guilherme
-