• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 170
  • Last Modified:

no database linked Dataset seems to lose values

Hi,

I have a strongly typed non-database connected local dataset called "priceStream1".  I am iterating through a grid which adds rows to the "Instrument" table within this dataset (see below).  

At the end of this loop, for debug reasons, I am displaying the table data in XML of the records added - in my instance this is two and all is fine so far.

However, when I then try to inspect the dataset from another procedure within the same page (in my example I am assigning this new messageBox function which should display the data again to a simple server side button) the record count of the dataset is zero and therefore the XML statement is empty (apart from the default stuff).

It looks like some sort of scope issue but the priceStream1 dataset should be visible throughout my class.

Any help would greatly be appreciated.

Thanks.

James.

      private void Button2_Click(object sender, System.EventArgs e)
      {
            for (int i = 0; i <= WebGrid1.RootTable.Rows.Count - 1; i++)
            {
                  PriceStream.InstrumentRow myRow = priceStream1.Instrument.NewInstrumentRow();
                  myRow.Code = WebGrid1.RootTable.Rows[i].Cells[1].Text;
                  myRow.Price = Convert.ToDouble(strPrice);
                  myRow.Col = 0;
                  myRow.Row = i;
                  myRow.RequestID = i;
                  priceStream1.Instrument.Rows.Add(myRow);
                        
            }
            MessageBox.Show(priceStream1.GetXml(), "",MessageBoxButtons.OK,
                  MessageBoxIcon.Information,MessageBoxDefaultButton.Button1,
                  MessageBoxOptions.DefaultDesktopOnly);
      }
0
JAMES
Asked:
JAMES
  • 3
  • 2
1 Solution
 
DotNetLover_BaanCommented:
Hi there,
is "WebGrid1" your DataSet. Well, I would say store it in a session and use it further.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconpassingservercontrolvaluesbetweenpages.asp

-Baan
0
 
JAMESAuthor Commented:
Baan,

WebGrid1 is a databound grid which is linked to another bound dataset.  I iterate through this grid on startup to populate my dataset called priceStream1.

I am not trying to see this data in another web page, I just want to retrieve it in the same page.  

Would you still consider it a session issue?

Thanks.

James.
0
 
DotNetLover_BaanCommented:
ok... I got it now... sorry about that.
Try to insert a strongly typed row just to see if you can insert into the "Instrument" table. Don't use the loop... for testing.

-Baan
0
 
JAMESAuthor Commented:
The instrument table is being updated no problem - I show the XML from the datagrid after all the updates have been done and all is fine - they are all there...  It's only when I try to retrieve that data (after a button click elsewhere but on the same page) that it's gone.

I think you are correct when you say I have to save the data in a session object (or viewstate) and then repopulate the dataset after postback!

Would you agree?

Thanks.

0
 
DotNetLover_BaanCommented:
hmm, ya.. since you are clicking on a button to display the data, this is as good as a different page, but with Page.IsPostBack = true. Go ahead and use session... that should work.
-Baan
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Cloud Class® Course: CompTIA Cloud+

The CompTIA Cloud+ Basic training course will teach you about cloud concepts and models, data storage, networking, and network infrastructure.

  • 3
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now