Click here to Skip to main content
12,943,528 members (54,599 online)
Rate this:
 
Please Sign up or sign in to vote.
See more:
Hi every one im trying to change the value of a row in an datatable in an foreach loop

protected void btnFixZero(object sender, EventArgs e)
{
    System.Data.DataTable dt = new System.Data.DataTable();
    dt = (System.Data.DataTable)ViewState["SelectedRecords"];
    int rowscount = GridView2.Rows.Count;
    int columnscount = GridView2.Columns.Count;
    if (missingCell == 0)
    {
        foreach (DataRow row in dt.Rows)
        {
 
            string cellData = row["F4"].ToString(); //original value
            string sub0 = cellData.Substring(0, 1);
            string sub1 = cellData.Substring(1, 1);
            string subplus = cellData.Substring(0, 1);
 
            if (sub0 == "2" && sub1 == "7")
            {
                cellData = cellData.Remove(0, 2);
                cellData = "0" + cellData;//change original value save it   back to the datatable
                row.AcceptChanges();
                dt.AcceptChanges();
            }
            if (sub0 != "0")
            {
                cellData = "0" + cellData;//change original value save it   back to the datatable
                row.AcceptChanges();
                dt.AcceptChanges();
            }
 
        }
        ViewState["SelectedRecords"] = dt;
 

        GridView2.DataSource = dt;
        GridView2.DataBind();
    }
 
       }
Posted 8-Jan-13 23:15pm
mrDivan1.2K
Comments
mrDivan 9-Jan-13 5:28am
   
hallo thank you for your response the problem is that it does not save the updated value back to dt//the datatable

1 solution

Rate this: bad
 
good
Please Sign up or sign in to vote.

Solution 1

protected void btnFixZero(object sender, EventArgs e)
      {
          System.Data.DataTable dt = new System.Data.DataTable();
          dt = (System.Data.DataTable)ViewState["SelectedRecords"];
          int rowscount = GridView2.Rows.Count;
          int columnscount = GridView2.Columns.Count;
          if (missingCell == 0)
          {
              foreach (DataRow row in dt.Rows)
              {
 
                  string cellData = row["F4"].ToString();
                  string sub0 = cellData.Substring(0, 1);
                  string sub1 = cellData.Substring(1, 1);
                  string subplus = cellData.Substring(0, 1);
 
                  if (sub0 == "2" && sub1 == "7")
                  {
                      cellData = cellData.Remove(0, 2);
                      cellData = "0" + cellData;
                      row["F4"] = cellData;//had to specify which column
                      row.AcceptChanges();
                      dt.AcceptChanges();
                  }
                  if (sub0 != "0")
                  {
                      cellData = "0" + cellData;
                      row["F4"] = cellData;//had to specify which column
                      row.AcceptChanges();
                      dt.AcceptChanges();
                  }
 
              }
              dt.AcceptChanges();
              ViewState["SelectedRecords"] = dt;
 

              GridView2.DataSource = dt;
              GridView2.DataBind();
          }
 
             }
  Permalink  

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

    Print Answers RSS
Top Experts
Last 24hrsThis month
OriginalGriff 4,643
CHill60 2,970
Maciej Los 2,348
Jochen Arndt 1,900
ppolymorphe 1,765


Advertise | Privacy | Mobile
Web01 | 2.8.170518.1 | Last Updated 9 Jan 2013
Copyright © CodeProject, 1999-2017
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100