Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Rendan

Problemas com DataList usando campo ntext

Recommended Posts

Prezados,

 

Estou tendo dificuldades em usar Replace para trocar os vbcrlf por <br> de um campo ntext no SqlServer para serem exibido como texto em uma label de um relatório.

 

Sempre que o valor é nulo (Replace(Eval("NaoConformidade"), vbcrlf, "<br>")) o erro no replace é enviado por ser o campo nulo.

 

<asp:Label ID="Label1" CssClass="style1" runat="server" Text='<%#Replace(Eval("NaoConformidade"), vbcrlf, "<br>")%>' /><asp:Label>

Como tratar este erro para que ele não gere erro ou se tem alguma forma melhor de fazer isto que estou querendo. Segue o codigo completo:

 

<asp:DataList ID="DataList2" runat="server" Width="100%" DataSourceID="SqlDataSource2">
				 <ItemTemplate> 
				  <table cellspacing='0' cellpadding='4' width="100%" align='center'>				
					<tr>
						<td style="text-align:right;border-bottom-color:#000000; border-top-color:#000000; border-right-color:#000000;border-left-color:#000000; border-width:1px; border-style:solid;width:60px" class="style1" valign="top"><asp:Label ID="Label8" CssClass="style1" runat="server" Text='<%#Eval("Modulo") & "." & Eval("Pergunta")%>' /><asp:Label> </td>
						<td style="text-align:justify;border-bottom-color:#000000; border-top-color:#000000; border-right-color:#000000;border-left-color:#000000; border-width:1px; border-style:solid;" class="style1"  valign="top"><asp:Label ID="Label1" CssClass="style1" runat="server" Text='<%#Replace(Eval("NaoConformidade"), vbcrlf, "<br>")%>' /><asp:Label></td>
					</tr>
				 </table>
				 </ItemTemplate>
				</asp:DataList>
				
				</table>
			<asp:SqlDataSource ID="SqlDataSource2" runat="server" 
				ConnectionString="<%$ ConnectionStrings:BancoNC_ConnectionString %>" 
				SelectCommand="SELECT Perguntas.Numero AS Pergunta, Modulos.Numero AS Modulo, CheckList.NaoConformidade, Relevancias.Relevancia FROM CheckList INNER JOIN Perguntas ON CheckList.SerialPerguntas = Perguntas.Serial INNER JOIN Modulos ON Perguntas.SerialModulo = Modulos.Serial INNER JOIN Relevancias ON CheckList.SerialRelevancia = Relevancias.Serial  WHERE (CheckList.Conformidade = 2) AND (CheckList.SerialInspecoes = @Serial) ORDER BY Modulos.Numero, Perguntas.Numero">
				<SelectParameters>
					<asp:QueryStringParameter DefaultValue="0" Name="Serial" QueryStringField="nc" Type="Int32" />
				</SelectParameters>			
			</asp:SqlDataSource>

Muito obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você poderia alimentar sua label pelo source, ao invés de alimentar no HTML, desta forma será possível tratar.

If NaoConformidade.ToString() <> "" Then
  Label1.Text = NaoConformidade.Replace("vbcrlf", "<br>")
End If

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.