none
Inserir uma coluna no SPGridView RRS feed

  • Pergunta

  • Olá,

    Estou tentando utilizar o SPGridView em uma webpart que desenvolvi no Visual Studio para exibir os dados da minha lista.

    Porém, um dos campos da lista é o usuário que criou o item e eu gostaria de mostrá-lo da mesma forma que o Sharepoint faz nativamente, ou seja, mostrando a presença (LYNC). Fuçando na classe ListItem consegui chegar no código abaixo (GetFormattedValue), que é o responsável por mostrar a presença. A minha dúvida é, como faço para colocar esse código HTML como uma coluna do SPGridView?

    <nobr><span><a href="/tsd/_layouts/userdisp.aspx?ID=7">Marcelo Biffi</a><img border="0" height="1" width="3" src="/_layouts/images/blank.gif"/><a href='javascript:;' onclick='IMNImageOnClick(event);return false;' class='ms-imnlink'><img name='imnmark' class='ms-imnImg' title='' border='0' height='12' width='12' src='/_layouts/images/blank.gif' alt='No presence information' sip='marcelo@coopavel.com.br' id='imn_6,type=sip'/></a></span></nobr>

    quarta-feira, 15 de agosto de 2012 16:52

Respostas

  • Boa tarde Biffi,

    Tenta  o seguinte

    <asp:GridView ID="gvEventos" runat="server" AutoGenerateColumns="false" CellPadding="4" ForeColor="#333333" 
                GridLines="None">
                <AlternatingRowStyle BackColor="White" ForeColor="#284775" />
                <EditRowStyle BackColor="#999999" />
                <FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
                <HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
                <PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
                <RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
                <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
        <Columns>
            <asp:BoundField DataField="tipo1" HeaderText="tipo2" HeaderStyle-Width="150px" />
            <asp:BoundField DataField="tipo2" HeaderText="tipo1" HeaderStyle-Width="150px" />
            <asp:BoundField DataField="data" HeaderText="Data do Evento" DataFormatString="{0:d}" ItemStyle-HorizontalAlign="Center" />
            <asp:BoundField DataField="escopo" HeaderText="Escopo" />
            <asp:TemplateField HeaderText="Descrição" >
                <ItemTemplate>
                    <asp:Literal ID="lblsensor" runat="server" Text='<%# Eval("SensordePresenca") %>'  />
                </ItemTemplate>
            </asp:TemplateField>        
        </Columns>    
        </asp:GridView>

    • Marcado como Resposta Biffi quinta-feira, 16 de agosto de 2012 11:21
    quarta-feira, 15 de agosto de 2012 19:29

Todas as Respostas

  • Olá Biffi,

    Consulte este material de referência sobre SPGridView.

    http://code.msdn.microsoft.com/office/Ejemplos-sobre-cmo-usar-el-69cd5f16

    Espero ter ajudado.


    Hezequias Vasconcelos

    quarta-feira, 15 de agosto de 2012 18:39
    Moderador
  • Boa tarde Biffi,

    Tenta  o seguinte

    <asp:GridView ID="gvEventos" runat="server" AutoGenerateColumns="false" CellPadding="4" ForeColor="#333333" 
                GridLines="None">
                <AlternatingRowStyle BackColor="White" ForeColor="#284775" />
                <EditRowStyle BackColor="#999999" />
                <FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
                <HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
                <PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
                <RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
                <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
        <Columns>
            <asp:BoundField DataField="tipo1" HeaderText="tipo2" HeaderStyle-Width="150px" />
            <asp:BoundField DataField="tipo2" HeaderText="tipo1" HeaderStyle-Width="150px" />
            <asp:BoundField DataField="data" HeaderText="Data do Evento" DataFormatString="{0:d}" ItemStyle-HorizontalAlign="Center" />
            <asp:BoundField DataField="escopo" HeaderText="Escopo" />
            <asp:TemplateField HeaderText="Descrição" >
                <ItemTemplate>
                    <asp:Literal ID="lblsensor" runat="server" Text='<%# Eval("SensordePresenca") %>'  />
                </ItemTemplate>
            </asp:TemplateField>        
        </Columns>    
        </asp:GridView>

    • Marcado como Resposta Biffi quinta-feira, 16 de agosto de 2012 11:21
    quarta-feira, 15 de agosto de 2012 19:29
  • Oi,

    o exemplo do Elton está correto.

    Você consegue fazer isso utilizando ItemTemplate.

    Dentro to ItemTemplate você customiza seu código:

    <nobr>

    <span>

    <a href="/tsd/_layouts/userdisp.aspx?ID=7">Marcelo Biffi</a>

    <img border="0" height="1" width="3" src="/_layouts/images/blank.gif"/>

    <a href='javascript:;' onclick='IMNImageOnClick(event);return false;' class='ms-imnlink'>

    <img name='imnmark' class='ms-imnImg' title='' border='0' height='12' width='12' src='/_layouts/images/blank.gif' alt='No presence information' sip='marcelo@coopavel.com.br' id='imn_6,type=sip'/>

    </a>

    </span>

    </nobr>



    ROBERTOSLJUNIOR

    quarta-feira, 15 de agosto de 2012 22:10
  • Obrigado a todos pela ajuda.
    quinta-feira, 16 de agosto de 2012 11:22