DataTable Static

24/11/2010

0

Boa noite estou com um problema ao criar um DataTable, eu não queria utilizar ViewState para manter seu estado, dei uma pesquisada e descobri que seria possivel utilizar um DataTable static: (private static DataTable dt).
Porém o grande problema é que o conteúdo está sendo listado em todos os lugares, exemplo se eu rodar minha aplicação em um navegador e preencher o DataTable quando eu abrir outro navegador e adicionar dados os dados tornam a ser únicos toda vez que sofrer alterações ambos navegadores sofrerão.
Torno a dizer gostaria que me ajudassem a solucionar sem utilizar algum objeto para manter seu estado (ViewState, Session...).
Segue código abaixo:

Default.aspx:
--------------------------------------------------------------------------------------------------------------------------------------------------
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="DataStatic._Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
   
        <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" />
        <br />
        <asp:GridView ID="GridView1" runat="server">
        </asp:GridView>
   
    </div>
    </form>
</body>
</html>
--------------------------------------------------------------------------------------------------------------------------------------------------
Default.aspx.cs
-------------------------------------------------------------------------------------------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;

namespace DataStatic
{
    public partial class _Default : System.Web.UI.Page
    {
        protected static DataTable _dt;
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                _dt = new DataTable();
                DataTableReader reader = new DataTableReader(GetCustomers());

                _dt.Load(reader);
            }
        }

        private static DataTable GetCustomers()
        {
            DataTable table = new DataTable();
            table.Columns.Add("col1");

            return table;
        }

        protected void Button1_Click(object sender, EventArgs e)
        {
            DataRow row = _dt.NewRow();
            _dt.Rows.Add(row);
            row["col1"] = DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss");
            GridView1.DataSource = _dt;
            GridView1.DataBind();
        }
    }
}
-------------------------------------------------------------------------------------------------------------------------------------------------

Obrigado
Valter Vinicius

Valter Vinicius

Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar