Inquiridor
Concatenar colunas no GridView

Pergunta
-
Como concatenar colunas no meu GridView abaixo:
<asp:BoundField DataField="DIAM2" HeaderText="" SortExpression="DIAM2"
ReadOnly="True" HeaderStyle-Width="50px" >
<ItemStyle HorizontalAlign="Center"></ItemStyle>
</asp:BoundField>
<asp:BoundField DataField="DIAM1" HeaderText="" SortExpression="DIAM1"
ReadOnly="True" HeaderStyle-Width="50px" >
<ItemStyle HorizontalAlign="Center"></ItemStyle>
</asp:BoundField>Eu quero que os campos DIAM1 DIAM2 fiquem na mesma coluna separados apenas com um espaço.
Como faço isso ?
Desde ja agradeço.
Obrigado.
<asp:boundfield DataField="DIAM2" HeaderStyle-Width="50px" HeaderText="" ReadOnly="True" SortExpression="DIAM2"><itemstyle HorizontalAlign="Center"></itemstyle></asp:boundfield><asp:boundfield DataField="DIAM1" HeaderStyle-Width="50px" HeaderText="" ReadOnly="True" SortExpression="DIAM1"><itemstyle HorizontalAlign="Center"></itemstyle></asp:boundfield>
Todas as Respostas
-
Cara, faz uma table e poe eles lá dentro que você trabalha melhor com eles:
Aqui eles na mesma coluna:<div> <table> <tr> <td> <asp:BoundField DataField="DIAM2" HeaderText="" SortExpression="DIAM2" ReadOnly="True" HeaderStyle-Width="50px"> <itemstyle horizontalalign="Center"></itemstyle> </asp:BoundField> <asp:BoundField DataField="DIAM1" HeaderText="" SortExpression="DIAM1" ReadOnly="True" HeaderStyle-Width="50px"> <itemstyle horizontalalign="Center"></itemstyle> </asp:BoundField> </td> </tr> </table> </div>
Aqui em linhas diferentes:
<div> <table> <tr> <td> <asp:BoundField DataField="DIAM2" HeaderText="" SortExpression="DIAM2" ReadOnly="True" HeaderStyle-Width="50px"> <itemstyle horizontalalign="Center"></itemstyle> </asp:BoundField> </tr> <tr> <asp:BoundField DataField="DIAM1" HeaderText="" SortExpression="DIAM1" ReadOnly="True" HeaderStyle-Width="50px"> <itemstyle horizontalalign="Center"></itemstyle> </asp:BoundField> </td> </tr> </table> </div>
se for útil marque como útil
-
Paulo com o DataFiel você não irá conseguir tente dessa maneira.
<asp:TemplateField> <ItemTemplate> <asp:Label ID="lblDocId" runat="server" Text='<%#Eval("Seu Campo")%>?subject=<%#Eval("Seu Campo")%>">'></asp:Label> </ItemTemplate> </asp:TemplateField>
Espero que ajude.
Se ajudou marque.
Abraço.
Voce pode encarar um erro como uma besteira a ser esquecida, ou como um resultado que aponta uma nova direcao by Steve Jobs
-
Como ja disse acima
Da forma que esta abaixo os 2 ficam em 2 linhas
<asp:BoundField DataField="DIAM2" HeaderText="" SortExpression="DIAM2" ReadOnly="True"
HeaderStyle-Width="50px">
<itemstyle horizontalalign="Center"></itemstyle>
</asp:BoundField>
<asp:BoundField DataField="DIAM1" HeaderText="" SortExpression="DIAM1" ReadOnly="True"
HeaderStyle-Width="50px">
<itemstyle horizontalalign="Center"></itemstyle>
</asp:BoundField>
Por favor quero apenas deixar os 2 na mesma coluna no meu GridView quem souber e puder me ajudar eu agradeço.
Obs: Não vou usar tabelas e sim o GridView.
Obrigado
-
Como ja disse acima
Da forma que esta abaixo os 2 ficam em 2 linhas
<asp:BoundField DataField="DIAM2"HeaderText="" SortExpression="DIAM2"ReadOnly="True"
HeaderStyle-Width="50px">
<itemstyle horizontalalign="Center"></itemstyle>
</asp:BoundField>
<asp:BoundField DataField="DIAM1"HeaderText="" SortExpression="DIAM1"ReadOnly="True"
HeaderStyle-Width="50px">
<itemstyle horizontalalign="Center"></itemstyle>
</asp:BoundField>
Por favor quero apenas deixar os 2 na mesma coluna no meu GridView quem souber e puder me ajudar eu agradeço.
Obs: Não vou usar tabelas e sim o GridView.
Obrigado
-
Paulo Tente dessa maneira, penso que a que postei não irá funcionar corretamente I'm sorry.
Lembrando utilize TempleateField
Text='<%# String.Format("{0} {1}", Eval("Seu Campo"), Eval("Seu Campo")) %>'
Abraço.
Voce pode encarar um erro como uma besteira a ser esquecida, ou como um resultado que aponta uma nova direcao by Steve Jobs
- Sugerido como Resposta Fulvio Cezar Canducci Dias segunda-feira, 30 de setembro de 2013 13:14
-
-
Essas são suas duas colunas com o TempleateField:
<asp:TemplateField> <ItemTemplate> <asp:Label ID="lblDocId" runat="server" Text='<%# String.Format("{0} {1}", Eval("DIAM2"), Eval("DIAM1")) %>'></asp:Label> </ItemTemplate> </asp:TemplateField>
Você Irá tirar os BoudField e incluir apenas esse Template.
Agora acho que você irá entender.
Abraço.
Voce pode encarar um erro como uma besteira a ser esquecida, ou como um resultado que aponta uma nova direcao by Steve Jobs
-
-
-
O string format nesse caso serve para concatenar os campos Paulo e não para converter algum valor para outro tipo.
Segue documentação: http://msdn.microsoft.com/pt-br/library/system.string.format.aspx
Abraço.
Voce pode encarar um erro como uma besteira a ser esquecida, ou como um resultado que aponta uma nova direcao by Steve Jobs
-
Eu coloquei do jeito abaixo:
<asp:TemplateField>
<ItemTemplate>
<asp:Label ID="lblDocId" runat="server" Text='<%# String.Format("{0} {1}", Eval("DIAM2"), Eval("DIAM1")) %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>Funcionou porem o titulo do GridView sumiu. Como eu coloco o titulo ?
Fico no aguardo.
Obrigado.
-
Todo TemplateField contem as mesmas propriedados do BoundField Paulo, com isso você pode utilizar todos os estilos normalmente.
Nesse caso pode-se utilizar o HeaderText como abaixo.
<asp:TemplateField HeaderText="Nome da sua Coluna"> <ItemTemplate> <asp:Label ID="lblDocId" runat="server" Text='<%# String.Format("{0} {1}", Eval("DIAM2"), Eval("DIAM1")) %>'></asp:Label> </ItemTemplate> </asp:TemplateField>
Abraço.
Voce pode encarar um erro como uma besteira a ser esquecida, ou como um resultado que aponta uma nova direcao by Steve Jobs
- Editado Fernando Mamprin terça-feira, 1 de outubro de 2013 14:15
- Marcado como Resposta Thales F Quintas sexta-feira, 17 de junho de 2016 18:08
- Não Marcado como Resposta Thales F Quintas sexta-feira, 17 de junho de 2016 18:08
-
Como eu acrescento mais um campo no codigo abaixo:
Quero o campo DIAM1, DIAM2 E CODPECA
NESSE CASO EU SO MUDO A TEXT DO MEU LABEL, MAS NÃO SEI COMO FICARIA.
<asp:TemplateField HeaderText="Nome da sua Coluna"> <ItemTemplate> <asp:Label ID="lblDocId" runat="server" Text='<%# String.Format("{0} {1}", Eval("DIAM2"), Eval("DIAM1")) %>'></asp:Label> </ItemTemplate> </asp:TemplateField>
-
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:Label ID="lblDocId" runat="server" Text='<%# Eval("DIAM1") %>'></asp:Label>
<asp:Label ID="Label1" runat="server" Text='<%# Eval("DIAM2") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns> -
<asp:TemplateField HeaderText="Nome da sua Coluna"> <ItemTemplate> <asp:Label ID="lblDocId" runat="server" Text='<%# String.Format("{0} {1} {2}", Eval("DIAM2"), Eval("DIAM1"), Eval("CODPECA")) %>'></asp:Label> </ItemTemplate> </asp:TemplateField>
Voce pode encarar um erro como uma besteira a ser esquecida, ou como um resultado que aponta uma nova direcao by Steve Jobs
-
Ja tenho a coluna com meus itens concatenados.
Da forma que foi colocado abaixo:
<asp:TemplateField HeaderText="Nome da sua Coluna">
<ItemTemplate>
<asp:Label ID="lblDocId" runat="server" Text='<%# String.Format("{0} {1} {2}", Eval("DIAM2"), Eval("DIAM1"), Eval("CODPECA")) %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>Porem os itens que são iguais estão repetindo.
Tem como colocar no GridView de forma que os itens concatenados que forem repetidos não aparecam ?
Fico no aguardo.
Obrigado.
-
Paulo isso você deve fazer no seu banco de dados, para ele te trazer apenas registros não repetidos, uma boa forma de se fazer isso é efetuar o controle através do ID sequencial.
E no cadastramento de cada item efetuar a validação de igualdade textual do "nome" por exemplo, e impedir que o usuário efetue a inclusão repetida.
Abraço.
Voce pode encarar um erro como uma besteira a ser esquecida, ou como um resultado que aponta uma nova direcao by Steve Jobs
-
COMO EU FARIA MEU SELECT NÃO REPETIR A 1 COLUNA ?
EXEMPLO: "SELECT CODPECA,DIAM1,DIAM2 FROM TABELA1 ORDER BY CODPECA"
NESSE CASO O CODPECA SO VAI APARECER QUANDO FOR DIFERENTE.
COMO DEVO PROCEDER JA QUE NÃO TEM JEITO PELO GRIDVIEW.
FICO NO AGUARDO.
OBRIGADO.
-
Cara, o que você pode fazer, é percorrer todo seu retorno do banco validando item a item se existe igualdade, caso não ai sim você adiciona esse item na sua grid.
No caso da repetição no banco de dados, o problema está no cadastramento de itens repetidos.
Por exemplo: ID=1 NOME="Fernando", ID=2 NOME="Paulo" assim é o correto, seu cadastramento não pode estar assim Paulo. ID=1 NOME="Paulo", ID=2 NOME="Paulo"... e assim por diante.
Caso no seu cadastramento você bloquei a inserção de itens repetidos o problemas de igualdade não mais irá ocorrer e sua aplicação será mais performática.
Se um problema foi resolvido marque.
Abraço.
Voce pode encarar um erro como uma besteira a ser esquecida, ou como um resultado que aponta uma nova direcao by Steve Jobs
-
BOM DIA
OS DADOS DA MINHA TABELA NO MEU SQL SÃO REPETIDOS E DEVEM SER MESMO.
MAS NO MEU GRIDVIEW NÃO QUERO QUE A 1 COLUNA AONDE TEM ESSES DADOS REPETIDOS SO APARECAM QUANDO MUDAR
VOU DAR UM EXEMPLO:
COLUNA1 - COLUNA2 - COLUNA2
A 1 11
A 2 22
A 3 33
B 1 11
B 2 22
B 3 33
AGORA VOU DAR UM EXEMPLO DE COMO EU QUERO QUE FIQUE, PODE SER PELA QUERY OU PELO GRIDVIEW MESMO.
COLUNA1 - COLUNA2 - COLUNA2
A 1 11
2 22
3 33
B 1 11
2 22
3 33
ESPERAM QUE TENHAM ENTENDIDO.
SE ALGUEM SOUBER COMO ME AJUDAR EU AGRADEÇO MUITO.
FICO NO AGUARDO.
OBRIGADO.