Jump to content
| Blasted |

Editar linha header de Gridview

Recommended Posts

| Blasted |

Boas!

Tenho uma gridview e queria editar a minha linha header para que ficasse algo deste género: http://img19.imageshack.us/i/anexom.jpg/.

Tal como devem ter reparado isso é o layout do Gmail e era mesmo isso que queria.

A ideia é ter lá vários comandos que depois executam as acções ás linhas seleccionadas, tal como o Gmail.

Como posso fazer isto?

Cumprimentos,

Share this post


Link to post
Share on other sites
marciocardoso

Penso que podes adcionar butoes no header

                <HeaderTemplate>

                    <asp:Button runat="server" ID="btn"  />

                </HeaderTemplate>

Depois com css defines o estilo, para bater certo como pretendes.

Share this post


Link to post
Share on other sites
| Blasted |

E onde devo adicionar esse HeaderTemplate?

Consegues-me dar um exemplo com código pf?

Ainda não sou muito experiente nisto.

Obrigado desde já pela ajuda,

Share this post


Link to post
Share on other sites
marciocardoso

Penso que será algo do género...

      <asp:GridView ID="Gridview1" runat="server">
        <Columns>
            <asp:TemplateField>
                <HeaderTemplate>
                    <asp:Button runat="server" ID="btn" />
                </HeaderTemplate>
            </asp:TemplateField>
        </Columns>
    </asp:GridView>

Share this post


Link to post
Share on other sites
| Blasted |

Okay, got it. Já consegui aplicar, acho que era mesmo isto.

Agora, em relação ao aspecto, este button fica mesmo por cima da coluna em que eu o defino. Como é que consigo um aspecto semelhante à barra do Gmail?

Cumprimentos,

Share this post


Link to post
Share on other sites
| Blasted |

Com o style consigo controlar a posição onde irá ficar? É que este botão que irei ter no header, não irá estar relacionado com nenhuma coluna em especial e portanto o ideal seria ser até por exemplo centrado.

Share this post


Link to post
Share on other sites
marciocardoso

Não querendo enganar ninguém, tenta isto:

no header:    width:100%;

e no botão: padding-left:50%;

 

penso que com isto és capaz de centrar o botão.

Share this post


Link to post
Share on other sites
| Blasted |

Isso centra-me o botão se apenas tiver essa coluna, não?

O que eu tenho neste momento é algo assim:

| Hea1| Hea2| Hea3| Hea4 |

| Col1 | Col2 | Col3 | Col4 |

| Col1 | Col2 | Col3 | Col4 |

| Col1 | Col2 | Col3 | Col4 |

| Col1 | Col2 | Col3 | Col4 |

Eu posso agora colocar numa das colunas o button e fico com por exemplo:

| Hea1| Hea1| But| Hea1|

| Col1 | Col2 | Col3 | Col4 |

| Col1 | Col2 | Col3 | Col4 |

| Col1 | Col2 | Col3 | Col4 |

| Col1 | Col2 | Col3 | Col4 |

O que eu queria é descartar os restantes Header (não irei precisar deles) e depois conseguir, centrá-los por exemplo.

Cumprimentos,

Share this post


Link to post
Share on other sites
marciocardoso

ah ok... então penso que será isto:

<asp:GridView ID="grid" runat="server">
            <Columns>
                <asp:TemplateField>
                    <HeaderTemplate>
                        <asp:Button Text="btn" runat="server" />
                    </HeaderTemplate>
                    <ItemTemplate>
                        // aqui o conteudo da coluna
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField></asp:TemplateField>
            </Columns>
        </asp:GridView>

Share this post


Link to post
Share on other sites
| Blasted |

E onde digo então que caso tenha mais que uma coluna, onde irão ficar os botões da header row?

É que nesse caso, tenho apenas uma coluna e portanto o botão fica sobre essa. Caso tenha 2, como coloco o botão onde pretendo?

Share this post


Link to post
Share on other sites
marciocardoso

Tu vais fazer um databind da grid certo???

Então podes fazer assim:

logo a seguir ao <HeaderTemplate>

<asp:BoundField DataField="name" HeaderText="Nome">

                </asp:BoundField>

Assim, quando fazes o databind com um objecto, o atributo name vai para a BoundField com o datafiel name.

Penso que será isso, não tive oportunidade de testar.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.