update value in a DataGridView c#

I am trying to upate particular cells in a grid, The gird is already populated with values, and i have a button that I want to update every row on the grid , but only a particular cell in the grid

Here is what I have so far but I am getting stuck on how to update the data on the grid ...

        private void ApplyAllButton_Click
                    (object sender
                    ,EventArgs e
                    ,string lv_CustomerID)
        {
            int rownum = 0;
            string temp_msg = "";

            Dictionary<string, string> UpdateValues;
            UpdateValues.Add("SalesPrice", "");
            UpdateValues.Add("BasePrice", "");
            UpdateValues.Add("DiscountPerc", "");
            UpdateValues.Add("DiscountType", "");
            UpdateValues.Add("Authorized", "");
            UpdateValues.Add("NetPrice", "");

            dataGridView1 = SaveLocal(dataGridView1, MacStockCheckDic.Stock_check_columns());

            if (g_debug_level > 1) { temp_msg = "oracleProcedure"; }

            //if (CustomerID.Text == String.Empty)
            if (lv_CustomerID == "")
            {
                MessageBox.Show("No Customer ID has been entered, customer information related \n"
                                +"to the parts you have chosen will not be updated.\n"
                                +"Please check to make sure you have a Valid Customer ID. \n"
                                 , "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                //do a check to see if the customer exists in IFS
            }
            else
            {
                foreach (DataGridViewRow GridRow in dataGridView1.Rows)
                {
                    //get the data from the row that you need to update into a dictionary
                    foreach (KeyValuePair<string, string> MACViewColsPair in MACVW_STOCK_CHECK_ColDictionary)
                    {
                        StockCheckColDictionary[MACViewColsPair.Key] = GridRow.Cells[MACViewColsPair.Value].ToString();
                    }

                    // update the dictionary with the updated values
                    MacOraIFS.UpdateStockCheckColumns_from_MAC_PRICING_API_Get_Price
                               (StockCheckColDictionary
                               , dbenviroment
                               , lv_CustomerID
                               , "10"
                               , OracleDbConn);
 
                    //update the grid cells based on the values i have in the dictionary
                    // this is where i have the problem
                    // the UpdateValues Dictionary has the coloumn names of the grid that I want to
                   // update..
                   foreach (KeyValuePair<string, string> UpdateValuesPair in UpdateValues)
                    {
                        GridRow.Cells[UpdateValuesPair.Key] = "1";
                            //StockCheckColDictionary[UpdateValuesPair.Key];
                    }


                }
            }

        }
LVL 2
Jayesh AcharyaTechnichal ConsultantAsked:
Who is Participating?
 
Jayesh AcharyaTechnichal ConsultantAuthor Commented:
I have got a completed version which complies if anyone wants to use it, the MACVW_STOCK_CHECKColDictionary, is a dictionary of the column names that I was interested in

        public void UpdateDataGridRow
                (Dictionary<string, string> lv_StockCheckGridCols
                , Dictionary<string, string> lv_ColumnFormatGridViewDictionary
                , Dictionary<string, string> lv_ColumnsUpdatedGridViewDictionary
                , DataGridViewRow lv_GridRow)
        {
            try
            {
                // this is to populate the data table and bind to the datagrid
                Decimal TempValueCurrency;
                DateTime TempValueDate;

                foreach (KeyValuePair<string, string> UpdateValuesPair in lv_ColumnsUpdatedGridViewDictionary)
                {
                    if (lv_StockCheckGridCols[UpdateValuesPair.Key] != "")
                    {
                        switch (lv_ColumnFormatGridViewDictionary[UpdateValuesPair.Key])
                        {
                            case "N":
                                {
                                    TempValueCurrency = Convert.ToDecimal(lv_StockCheckGridCols[UpdateValuesPair.Key]);
                                    lv_GridRow.Cells[UpdateValuesPair.Key].Value = TempValueCurrency.ToString("c");
                                    break;
                                }
                            case "D":
                                {
                                    //TempValueDate = Convert.ToDateTime(StockCheckPair.Value);
                                    //myNewRow[StockCheckPair.Key] = TempValueDate.ToString("c");
                                    lv_GridRow.Cells[UpdateValuesPair.Key].Value = lv_StockCheckGridCols[UpdateValuesPair.Key];
                                    break;
                                }

                            case "S":
                                {
                                    lv_GridRow.Cells[UpdateValuesPair.Key].Value = lv_StockCheckGridCols[UpdateValuesPair.Key];
                                    break;
                                }
                            default:
                                {
                                    lv_GridRow.Cells[UpdateValuesPair.Key].Value = lv_StockCheckGridCols[UpdateValuesPair.Key];
                                    break;
                                }
                        }
                    }
                    else
                    {
                        lv_GridRow.Cells[UpdateValuesPair.Key].Value = lv_StockCheckGridCols[UpdateValuesPair.Key];
                    }
                }
            }
            catch (Exception err)
            {
                Console.WriteLine("<b>Message:</b> " + err.Message
                                  + "<br /><br />"
                                  + "<b>Source:</b> " + err.Source
                                  + "<br /><br />"
                                  + "<b>Stack Trace:</b> " + err.StackTrace);
            }

        }//public void UpdateDataGridRow
0
 
kris_perCommented:

What is in 'MACVW_STOCK_CHECK_ColDictionary'?
0
 
Jayesh AcharyaTechnichal ConsultantAuthor Commented:
this procedure updates particular columns on the  row of the grid view in Win forms
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.

All Courses

From novice to tech pro — start learning today.