Usuário com melhor resposta
como exibir select em um datagrid no sharepoint 2007

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
Respostas
-
Olá Rodrigo,
segue um código simples de exemplo.
3 Propriedades
- Conexao
- Consulta
- Parametro - Empresa
- 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>"); }- Sugerido como Resposta robertosljunior sábado, 16 de maio de 2009 02:59
- Editado robertosljunior sábado, 16 de maio de 2009 03:07
- Marcado como Resposta Larah C. Vidotti quinta-feira, 4 de março de 2010 12:34
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 -
Olá Rodrigo,
segue um código simples de exemplo.
3 Propriedades
- Conexao
- Consulta
- Parametro - Empresa
- 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>"); }- Sugerido como Resposta robertosljunior sábado, 16 de maio de 2009 02:59
- Editado robertosljunior sábado, 16 de maio de 2009 03:07
- Marcado como Resposta Larah C. Vidotti quinta-feira, 4 de março de 2010 12:34
-