none
como exibir select em um datagrid no sharepoint 2007 RRS feed

  • Pergunta

  • Oi Pessoal,

    Estou querendo criar uma WebPart de consulta personalizada, mas não estou sabendo exibir o retorno do select em um dataGrid no sharepoint 2007.
    Irá ser uma enorme ajuda para mim. Obrigado

    Rodrigo
    Administrador de Sistemas

     

     


    Rodrigo Rocha
    quarta-feira, 13 de maio de 2009 20:45

Respostas

  • Olá Rodrigo,

    segue um código simples de exemplo.

    3 Propriedades
    • Conexao
    • Consulta
    • Parametro - Empresa
    1 Consumer
    • Empresa

    Abraço
    WebDisplayName O atributo WebDisplayName permite especificar um valor para aparecer n label do controle
    WebDescription O atributo WebDescription pode ser usado para adicionar informações sobre a propriedade,
    sendo exibida como um tooltip
    Personalizable Meio de armazenar e retornar as configurações. WebBrowsable O nome já diz, a propriedade estará visível.
    PersonalizationScope.Shared Escopo Compartilhado (ou do usuário PersonalizationScope.User)
    using ....
    using webwebparts = System.Web.UI.WebControls.WebParts;
    using ...
    namespace NOME
    
    {
        public class MINHAWEBPART : webwebparts.WebPart
        {
    
            DataGrid grid;
            Label mensagem;
    
            //----------------------------------
            // Propriedades
            //----------------------------------
    
            public string m_conexao; //Conexão
            public string m_consulta; //Consulta 
            public string m_empresa; //Parametro para query
    
            //Propriedade para Conexão
            [Personalizable(PersonalizationScope.Shared), WebBrowsable(true),
            WebDisplayName("Connection String"),
            WebDescription("Digite uma string de conexão.")]
            public string Conexao
            {
                get { return m_connection; }
                set { m_connection = value; }
            }
    
    //Propriedade para Consulta [Personalizable(PersonalizationScope.Shared), WebBrowsable(true), WebDisplayName("Consulta"), WebDescription("Digite uma consulta a ser executada.")] public string Consulta { get { return m_consulta; } set { m_consulta = value; } } //Propriedade para Empresa [Personalizable(PersonalizationScope.Shared), WebBrowsable(true), WebDisplayName("Empresa"), WebDescription("Digite o nome da Empresa.")] public string Empresa { get { return m_empresa; } set { m_empresa = value; } } //Cria um ConnectionConsumer para receber um valor de outra WebPart [webwebparts.ConnectionConsumer("Empresa")] public void GetConnectionInterface(webwebparts.IWebPartField providerPart) { webwebparts.FieldCallback callback = new webwebparts.FieldCallback(ReceiveField); providerPart.GetFieldValue(callback); } public void ReceiveField(object field) { if (field != null) Empresa = field.ToString(); } protected override void CreateChildControls() { //Grid grid = new DataGrid(); grid.AutoGenerateColumns = true; grid.Width = Unit.Percentage(100); grid.GridLines = GridLines.Horizontal; grid.HeaderStyle.CssClass = "ms-vh2"; grid.CellPadding = 2; //grid.BLABLABLA... Controls.Add(grid);
    //Label de aviso messages = new Label(); Controls.Add(mensagem); } protected override void RenderContents(HtmlTextWriter writer) { DataSet dataSet = null; string sql = Consulta; using (SqlConnection conn = new SqlConnection(Conexao)) { try { conn.Open(); SqlDataAdapter adapter = new SqlDataAdapter(sql, conn); dataSet = new DataSet("BLABLA"); adapter.Fill(dataSet, "BLABLABLA"); } catch (SqlException x) { mensagem.Text = x.Message; } catch (Exception x) { mensagem.Text += x.Message; } } try { grid.DataSource = dataSet; grid.DataMember = "BLABLABLA"; DataBind(); } catch (Exception x) { messages.Text += x.Message; } writer.Write("<table border=\"0\" width=\"100%\">"); writer.Write("<tr><td>"); grid.RenderControl(writer); writer.Write("</td></tr>"); writer.Write("<tr><td>"); messages.RenderControl(writer); writer.Write("</td></tr>"); writer.Write("</table>"); }

    sábado, 16 de maio de 2009 02:59

Todas as Respostas

  • Tudo bem Rodrigo?

    No máximo semana que vem iremos demontrar no CanalVídeos no CanalSharePoint como trabalhar com este tipo de controle.

    Caso queira entre em contato comigo que envio o código q estou fazendo para esta demontração.

    Bruno Velaz
    Faça parte do CanalSharePoint - Seja Membro!!
    www.canalsharepoint.com.br\brunovelaz

    Bruno Velaz - http://brunovelaz.spaces.live.com |*| CanalSharepoint.com.br\brunovelaz
    sábado, 16 de maio de 2009 00:43
  • Olá Rodrigo,

    segue um código simples de exemplo.

    3 Propriedades
    • Conexao
    • Consulta
    • Parametro - Empresa
    1 Consumer
    • Empresa

    Abraço
    WebDisplayName O atributo WebDisplayName permite especificar um valor para aparecer n label do controle
    WebDescription O atributo WebDescription pode ser usado para adicionar informações sobre a propriedade,
    sendo exibida como um tooltip
    Personalizable Meio de armazenar e retornar as configurações. WebBrowsable O nome já diz, a propriedade estará visível.
    PersonalizationScope.Shared Escopo Compartilhado (ou do usuário PersonalizationScope.User)
    using ....
    using webwebparts = System.Web.UI.WebControls.WebParts;
    using ...
    namespace NOME
    
    {
        public class MINHAWEBPART : webwebparts.WebPart
        {
    
            DataGrid grid;
            Label mensagem;
    
            //----------------------------------
            // Propriedades
            //----------------------------------
    
            public string m_conexao; //Conexão
            public string m_consulta; //Consulta 
            public string m_empresa; //Parametro para query
    
            //Propriedade para Conexão
            [Personalizable(PersonalizationScope.Shared), WebBrowsable(true),
            WebDisplayName("Connection String"),
            WebDescription("Digite uma string de conexão.")]
            public string Conexao
            {
                get { return m_connection; }
                set { m_connection = value; }
            }
    
    //Propriedade para Consulta [Personalizable(PersonalizationScope.Shared), WebBrowsable(true), WebDisplayName("Consulta"), WebDescription("Digite uma consulta a ser executada.")] public string Consulta { get { return m_consulta; } set { m_consulta = value; } } //Propriedade para Empresa [Personalizable(PersonalizationScope.Shared), WebBrowsable(true), WebDisplayName("Empresa"), WebDescription("Digite o nome da Empresa.")] public string Empresa { get { return m_empresa; } set { m_empresa = value; } } //Cria um ConnectionConsumer para receber um valor de outra WebPart [webwebparts.ConnectionConsumer("Empresa")] public void GetConnectionInterface(webwebparts.IWebPartField providerPart) { webwebparts.FieldCallback callback = new webwebparts.FieldCallback(ReceiveField); providerPart.GetFieldValue(callback); } public void ReceiveField(object field) { if (field != null) Empresa = field.ToString(); } protected override void CreateChildControls() { //Grid grid = new DataGrid(); grid.AutoGenerateColumns = true; grid.Width = Unit.Percentage(100); grid.GridLines = GridLines.Horizontal; grid.HeaderStyle.CssClass = "ms-vh2"; grid.CellPadding = 2; //grid.BLABLABLA... Controls.Add(grid);
    //Label de aviso messages = new Label(); Controls.Add(mensagem); } protected override void RenderContents(HtmlTextWriter writer) { DataSet dataSet = null; string sql = Consulta; using (SqlConnection conn = new SqlConnection(Conexao)) { try { conn.Open(); SqlDataAdapter adapter = new SqlDataAdapter(sql, conn); dataSet = new DataSet("BLABLA"); adapter.Fill(dataSet, "BLABLABLA"); } catch (SqlException x) { mensagem.Text = x.Message; } catch (Exception x) { mensagem.Text += x.Message; } } try { grid.DataSource = dataSet; grid.DataMember = "BLABLABLA"; DataBind(); } catch (Exception x) { messages.Text += x.Message; } writer.Write("<table border=\"0\" width=\"100%\">"); writer.Write("<tr><td>"); grid.RenderControl(writer); writer.Write("</td></tr>"); writer.Write("<tr><td>"); messages.RenderControl(writer); writer.Write("</td></tr>"); writer.Write("</table>"); }

    sábado, 16 de maio de 2009 02:59
  • Valeu Roberto, obrigado.

    Bruno Qual seu e-mail?
    Rodrigo Rocha
    quarta-feira, 20 de maio de 2009 18:22