ASP.NET GRIDVIEW COMMANDFIELD UPDATE/CANCEL não envolve
-
06-07-2019 - |
Pergunta
Minha pergunta está no controle do ASP.NET GridView. Estou usando um campo de comando nas colunas, como visto abaixo.
<asp:CommandField ShowEditButton="True" HeaderStyle-Width="40px" UpdateText="Save" ButtonType="Link" HeaderStyle-Wrap="true" ItemStyle-Wrap="true" ItemStyle-Width="40px"/>
O que renderiza é o mostrado na imagem a seguir (depois de clicar no botão Editar).
Como você pode ver Estou tentando fazer com que o link de cancelamento apareça uma nova linha e minha pergunta é como você faz o quê? Se eu mudar o ButtonType="Link"
para ButtonType="Button"
, Eu entendo a renderização corretamente, como mostrado abaixo.
ALT TEXTO http://i38.tinypic.com/2pqopxi.jpg
Já tentei o Google e talvez não esteja pesquisando nas tags certas, mas não conseguia ver essa abordada antes.
Solução
Se você usar um campo de modelo, ele fornecerá controle completo sobre a aparência da sua página, mas exige que você use o comandoname e as possíveis propriedades do CommandGument e também usando o OnRowCommand do GridView.
A página ASPX:
<asp:GridView id="gvGrid" runat="server" OnRowCommand="gvGrid_Command">
<Columns>
<asp:TemplateField>
<ItemTemplate>
Some Stuff random content
<br />
<asp:LinkButton id="lbDoIt" runat="server" CommandName="Cancel" CommandArgument="SomeIdentifierIfNecessary" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
O código atrás:
protected void gvGrid_Command(object sender, GridViewCommandEventArgs e)
{
if(e.CommandName=="Cancel")
{
// Do your cancel stuff here.
}
}
Outras dicas
Não use um campo de comando, use um Modelfield E coloque seu botão de comando nisso com uma quebra de linha (BR) antes que desejasse.