Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

JhonyMega

DATASET apartir de tabela do Base

Recommended Posts

Bom to com um problema preciso usar um DATASET que é criado a partir de uma tabela que esta numa base disponível SERVER EXPLORER. Mas não sei como acessar este DATASET e usar as funções de select e insert que fim nele. Com o select vou preencher um GRIDVIEW. Se puderem me ajudar

 

P.S : Se puderem colocar o código C#

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom consegui fazer ... de uma maneira muito mais simples do que demostrado no link a cima

 

Estou usando os componestes da DevExpres no site http://www.devexpress.com/.

 

Nesta pagina estou usando apenas a gridview deles. Não munda nada para um grid comum do Visual Studio.

 

using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Xml.Linq;
using novoSite.App_dataSet.DTusuariosTableAdapters; // CAMPO EXENCIAL (caminho até o dataSet)
using novoSite.App_dataSet;
using DevExpress.Web.ASPxEditors;
using Negocio;
using DevExpress.Web.Data;
using DevExpress.Web.ASPxGridView;

namespace novoSite
{
    public partial class AcessarDataSet : System.Web.UI.Page
    {
        //Intacia do ADAPTER do DATASET
        menuItem_Adapter adapDataSet = new menuItem_Adapter();
        CategoriasTableAdapter adapCateg = new CategoriasTableAdapter();

        Banco objbanco = new Banco(); //Connectar com o Banco SQLSERVER (Não precisa para connectar com o dataset)

        protected void Page_Load(object sender, EventArgs e)
        {
               this.MAcessoDataSet();
               this.MPreencherGridCategoria();
        }

        #region GridView MENU

        //Preencher GRID com DATASET
        public void MAcessoDataSet()
        {
            //Intencia do ADAPTER direto do DATASET
            menuItem_Adapter addt = new menuItem_Adapter();

            this.ASPxGridView1.DataSource = addt.getTable02(); //getTable02() -> Metodo ADAPTER criado por mim no dataSet
            this.ASPxGridView1.DataBind();
        }

        //Editar Dados na base usando DATASET
        protected void ASPxGridView1_RowUpdating(object sender, DevExpress.Web.Data.ASPxDataUpdatingEventArgs e)
        {
            try
            {
                int idtNovo = Convert.ToInt32(e.Keys[0]);

                //adapDataSet.AlteraQuery(e.NewValues["texto"].ToString(), e.NewValues["categoria"].ToString(), e.NewValues["url"].ToString(),e.NewValues["img"].ToString() , Convert.ToInt32(e.NewValues["idt"]));

                adapDataSet.AlterarItem(e.NewValues["texto"].ToString(), e.NewValues["categoria"].ToString(), e.NewValues["url"].ToString(), e.NewValues["img"].ToString(), idtNovo);//AlterarItem() -> Metodo ADAPTER criado por mim no dataSet

                this.ASPxGridView1.CancelEdit();
                e.Cancel = true;

                this.MAcessoDataSet(); //Recarregar Grid
            }
            catch(Exception ex)
            {
                throw ex;
            }

        }

        //Preencher ASPxComboBox para edição em grid
        protected ASPxComboBox MReturAllCategoria(ASPxComboBox combo)
        {
            SqlConnection conexao;
            SqlCommand comando;
            SqlDataReader result;

            try
            {
                conexao = objbanco.Conectar();
                conexao.Open();

                comando = new SqlCommand("SELECT nome FROM Categorias GROUP BY nome", conexao);

                result = comando.ExecuteReader();
                
                //combo.Items.Add("Selecione", "0");

                while (result.Read())
                {
                    combo.Items.Add(result["nome"].ToString(), result["nome"]);
                }
                result.Close();
                return combo;
            }
            catch (Exception ex)
            {
                combo.Items.Add("Erro", "0");
                return combo;
            }
        }

        //Coloar ASPxComboBox na grid durante o click de editar
        protected void ASPxGridView1_CellEditorInitialize(object sender, DevExpress.Web.ASPxGridView.ASPxGridViewEditorEventArgs e)
        {
            if (e.Column.Name == "categoria")
            {
                ASPxComboBox combo = e.Editor as ASPxComboBox;

                combo.Items.Clear();

                combo = this.MReturAllCategoria(combo);
            }

            if (e.Column.Name == "idt")
            {
                e.Editor.Visible = false;
            }
        }

        //Inserir Novo Item no Menu
        protected void ASPxGridView1_RowInserting(object sender, DevExpress.Web.Data.ASPxDataInsertingEventArgs e)
        {
            string msgErro = string.Empty;

            try
            {
                //Conferir foi preenchid corretamente
                if (e.NewValues["texto"] == null)
                {
                    msgErro += "- Campo Titulo é obrigatório. <br/>";
                }

                if (e.NewValues["categoria"] == null)
                {
                    msgErro += "- Campo Categoria é obrigatório. <br/>";
                }

                if (e.NewValues["url"] == null)
                {
                    msgErro += "- Campo URL é obrigatório. <br/>";
                }

                if (e.NewValues["img"] == null)
                {
                    e.NewValues["img"] = DBNull.Value;
                }
                else
                {
                    string[] past = e.NewValues["img"].ToString().Split('/');

                    e.NewValues["img"] = "~/imagens/" + past[past.Length - 1];
                }


                if (msgErro == String.Empty)
                {
                    adapDataSet.InserirItem(e.NewValues["texto"].ToString(), e.NewValues["categoria"].ToString(), e.NewValues["url"].ToString(), e.NewValues["img"].ToString());
                    this.MAcessoDataSet();

                    e.Cancel = true;
                    this.ASPxGridView1.CancelEdit();
                }
                else
                {
                    lblErros.Text = msgErro;
                    //ASPxCallback1.Initialized;
                }
            }
            catch(Exception ex)
            {
                throw ex;
            }
        }

        //Cadastrod POP da Categria 
        protected void ASPxCallback1_Callback(object source, DevExpress.Web.ASPxCallback.CallbackEventArgs e)
        {
            try
            {
                adapCateg.InserirCategoria(this.ASPxTextBox1.Text, "");
                e.Result = "Categoria cadatrada com sucessso.";
            }
            catch(Exception ex)
            {
                e.Result = ex.Message;
            }
        }

        //Deletar Item do Menu
        protected void ASPxGridView1_RowDeleting(object sender, DevExpress.Web.Data.ASPxDataDeletingEventArgs e)
        {
            try
            {
                int chave = Convert.ToInt32(e.Keys[0]);

                adapDataSet.DeletarItemMenu(chave);

                this.ASPxGridView1.CancelEdit();
                e.Cancel = true;

                this.MAcessoDataSet();
            }
            catch(Exception ex)
            {
                throw ex;
            }
        }

        #endregion

        #region Grid CATEGORIAs

        //Preencher Grid Categorias
        protected void MPreencherGridCategoria()
        {
           this.dtgCategoria.DataSource = adapCateg.GetData();
           this.dtgCategoria.DataBind();
        }

        #endregion

        //Converter GRID em PDF
        protected void ASPxButton2_Click(object sender, EventArgs e)
        {
            this.dtgExportar.WritePdfToResponse(DateTime.Now.ToString(), true);
        }


    }
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.