Link to home
Start Free TrialLog in
Avatar of nikavak
nikavakFlag for Greece

asked on

Update Dataset

I have a project in Vb.net wich works fine. I tried converted to C# and does not work. The problem is while button1 button2 and is clicked. The dsSessionNew never accepts changes. What i am doing wrong? Please help me.
Vb Working VODE:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If Not IsPostBack Then
            'create dataset type dsTest. 
            Dim ds As New dsTest
            'create data table type normal_eventsTableAdapter.
            Dim dt As New dsTestTableAdapters.normal_eventsTableAdapter
            'fill data table with normal_events data.
            dt.Fill(ds.normal_events)
 
            'create new dataset type Dataset.
            Dim ds1 As New DataSet
            'asign dataset ds1 with ds witch contains 3 columns. 
            ds1 = retSpecialGameStatus()
 
            Dim i As Integer
            For i = 0 To ds.Tables(0).Rows.Count - 1
                Dim objDR As System.Data.DataRow
                'create new row.
                objDR = ds1.Tables(0).NewRow
                objDR("nev_home_team") = ds.Tables(0).Rows(i).Item(0).ToString
                objDR("nev_id") = CInt(ds.Tables(0).Rows(i).Item(1).ToString)
                objDR("Bulc") = i
                ds1.Tables(0).Rows.Add(objDR)
 
                ds1.AcceptChanges()
            Next
 
            ASPxGridView1.DataSource = ds1
            ASPxGridView1.DataBind()
 
            Session("Grid") = ds1
 
 
        End If
 
 
    End Sub
    Public Function retSpecialGameStatus() As DataSet
 
        'create dataset type Dataset. 
        Dim ds As New DataSet
        'create datatable type Datatable.
        Dim objDT As System.Data.DataTable
 
        'set name of new datatable.
        objDT = New System.Data.DataTable("RetDataTable")
        'add 3 columns to datable.
        objDT.Columns.Add("nev_home_team", GetType(String))
        objDT.Columns.Add("nev_id", GetType(Integer))
        objDT.Columns.Add("Bulc", GetType(Integer))
 
       
        'add datatable to dataset.
        ds.Tables.Add(objDT)
 
        retSpecialGameStatus = ds
    End Function
    
 
 
    Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
 
        Session("Grid").Tables(0).Rows(0).Item(2) = 7
        Session("Grid").Tables(0).Rows(3).Item(2) = 7
        Session("Grid").AcceptChanges()
 
        ASPxGridView1.DataSource = Session("Grid")
        ASPxGridView1.DataBind()
 
        Session("Grid") = ASPxGridView1.DataSource
 
    End Sub
 
    Protected Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button2.Click
 
        Session("Grid").Tables(0).Rows(1).Item(2) = 5
        Session("Grid").Tables(0).Rows(4).Item(2) = 5
        Session("Grid").AcceptChanges()
 
        ASPxGridView1.DataSource = Session("Grid")
        ASPxGridView1.DataBind()
 
        Session("Grid") = ASPxGridView1.DataSource
    End Sub
 
 
C# Non Working code:
 
protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack) 
        {
               //create dataset type dsTest.
               DsNev ds = new DsNev();
               //create data table type normal_eventsTableAdapter.
               DsNevTableAdapters.normal_eventsTableAdapter dt = 
                            new DsNevTableAdapters.normal_eventsTableAdapter();
               //fill data table with normal_events data.
               dt.Fill(ds.normal_events);
            
               //create new dataset type Dataset.
               DataSet ds1 = new DataSet();
               //asign dataset ds1 with ds witch contains 4 columns.
               ds1 = retSpecialGameStatus();
              
               int i = 0;
               for (i = 0; i <= ds.Tables[0].Rows.Count - 1; i++) {
                   DataRow objDR;
                   //create new row.
                   objDR = ds1.Tables[0].NewRow();
                   objDR["nev_id"] = int.Parse(ds.Tables[0].Rows[i].ItemArray[0].ToString());
                   objDR["nev_visitor_team"] = ds.Tables[0].Rows[i].ItemArray[1].ToString();
                   objDR["nev_home_team"] = ds.Tables[0].Rows[i].ItemArray[2].ToString();
                   objDR["Bulc"] = i;
                   ds1.Tables[0].Rows.Add(objDR);
                 
                   ds1.AcceptChanges();
               }
              
               ASPxGridView1.DataSource = ds1;
              ASPxGridView1.DataBind();
              
                  
               Session["Grid"] = ds1;
           }
 
 
    }
    public DataSet retSpecialGameStatus()
    {
 
        //create dataset type Dataset.
        DataSet ds = new DataSet();
        //create datatable type Datatable.
        DataTable objDT;
 
        //set name of new datatable.
        objDT = new DataTable("RetDataTable");
        //add 4 columns to datable.
        objDT.Columns.Add("nev_id", typeof(int));
        objDT.Columns.Add("nev_home_team", typeof(string));        
        objDT.Columns.Add("nev_visitor_team", typeof(string));
        objDT.Columns.Add("Bulc", typeof(int));
 
 
        //add datatable to dataset.
        ds.Tables.Add(objDT);
 
        return ds;
    }
    protected void Button2_Click(object sender, EventArgs e)
    {
        DataSet dsSessionNew = new DataSet();
        dsSessionNew = (DataSet)Session["Grid"];       
 
 
        dsSessionNew.Tables[0].Rows[0].ItemArray[3] = 7;
        dsSessionNew.Tables[0].Rows[3].ItemArray[3] = 7;     
        
 
        dsSessionNew.AcceptChanges();
 
        ASPxGridView1.DataSource = Session["Grid"];
        ASPxGridView1.DataBind();
 
 
        Session["Grid"] = ASPxGridView1.DataSource;
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        DataSet dsSessionNew1 = new DataSet();
 
        dsSessionNew1 = (DataSet)Session["Grid"];
 
        dsSessionNew1.Tables[0].Rows[1].ItemArray[3] = 5;
        dsSessionNew1.Tables[0].Rows[4].ItemArray[3] = 5;
        dsSessionNew1.AcceptChanges();
 
        ASPxGridView1.DataSource = Session["Grid"];
        ASPxGridView1.DataBind();
 
        Session["Grid"] = ASPxGridView1.DataSource;
    }

Open in new window

Avatar of Dabas
Dabas
Flag of Australia image

Is the Button1_Click event actually happening?

If not, try adding the following line at line 93 of your code:

                Button1.Click +=Button1_Click;

Dabas
Avatar of nikavak

ASKER

You did not understand, the problem is about dataset. It does not accept changes.
ASKER CERTIFIED SOLUTION
Avatar of Dabas
Dabas
Flag of Australia image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial