Ir para conteúdo

Arquivado

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

DaniloTec

[Resolvido] Adicionar controle no gridview - C#

Recommended Posts

Ele criou a coluna, no mesmo pensamento que o meu, mas não mudou a posição dale, do jeito que eu quero fazer.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O grid:

<asp:GridView ID="gvXML" runat="server" OnRowDataBound="gvXML_RowDataBound">
   <Columns>
	  <asp:TemplateField HeaderText="Ação" SortExpression="10"></asp:TemplateField>
   </Columns>
</asp:GridView>

A criação do botão:

protected void gvXML_RowDataBound(object sender, GridViewRowEventArgs e)
{
   if (e.Row.RowType == DataControlRowType.DataRow)
   {
	  Button btnExcluir = new Button();
	  btnExcluir.ID = "btnExcluir";
	  btnExcluir.Text = "Excluir";
	  btnExcluir.Click += new EventHandler(btnExcluir_Click);
	  e.Row.Cells[6].Controls.Add(btnExcluir);
   }
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então, coloque suas colunas na grid de forma manual, ficaria assim:

<asp:GridView ID="gvXML" runat="server" OnRowDataBound="gvXML_RowDataBound">
   <Columns>
	  <asp:BoundField DataField="SEU_CAMPO_1" HeaderText="Meu Campo_1" />
	  <asp:BoundField DataField="SEU_CAMPO_2" HeaderText="Meu Campo_2" />
	  <asp:BoundField DataField="SEU_CAMPO_3" HeaderText="Meu Campo_3" />
	  <asp:BoundField DataField="SEU_CAMPO_4" HeaderText="Meu Campo_4" />
	  <asp:BoundField DataField="SEU_CAMPO_5" HeaderText="Meu Campo_5" />
	  <asp:BoundField DataField="SEU_CAMPO_6" HeaderText="Meu Campo_6" />
	  <asp:TemplateField HeaderText="Ação" SortExpression="10"></asp:TemplateField>
   </Columns>
</asp:GridView>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Erro:

A field or property with the name 'SEU_CAMPO_1' was not found on the selected data source.

Na linha:

gvXML.DataBind();

Será que tem algo com gerar colunas automaticamente?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa, você precisa trocar os valores, estes que eu coloquei foi apenas um exemplo.

Ficaria algo assim:

 

<asp:BoundField DataField="Nome" HeaderText="Aqui tem o titulo da coluna />
<asp:BoundField DataField="Endereco" HeaderText="Aqui tem o titulo da coluna" />

Esse DataField é o campo da sua tabela ou resultado que está sendo jogado no GridView.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa Oenning. Ficou assim:

<asp:GridView ID="gvXML" runat="server" OnRowDataBound="gvXML_RowDataBound" AutoGenerateColumns="False">
			<Columns>
				<asp:BoundField DataField="id" HeaderText="Cod" />
				<asp:BoundField DataField="logradouro" HeaderText="Endereço" />
				<asp:BoundField DataField="numero" HeaderText="Número" />
				<asp:BoundField DataField="bairro" HeaderText="Bairro" />
				<asp:BoundField DataField="cidade" HeaderText="Cidade" />
				<asp:BoundField DataField="estado" HeaderText="Estado" />
				<asp:TemplateField HeaderText="Ação" SortExpression="10"></asp:TemplateField>
			</Columns>
		</asp:GridView>

Lembrando que depois de fazer isso é necessáiro atribuir false na propriedade AutoGenerateColuns.

 

Vlw gente!

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.