не добавляются и не обновляются строки

Написал код для удаления,обновления и добавления строк.Удаление работает ,а с обновлением и удаление проблемы

   private void ReloadData()
    {
        try
        {
            ds.Tables["Othet"].Clear();
            adapter.Fill(ds, "Othet");
            OthetView.DataSource = ds.Tables["Othet"];
            for (int i = 0; i < OthetView.Rows.Count; i++)
            {
                DataGridViewLinkCell linkCell = new DataGridViewLinkCell();
                OthetView[7, i] = linkCell;


            }
        }

        catch (Exception ex)
        {

            MessageBox.Show(ex.Message, "Ошибка!", MessageBoxButtons.OK, MessageBoxIcon.Error);
        }
    }

    private void toolStripButton1_Click(object sender, EventArgs e)
    {
        ReloadData() ;
    }

    private void OthetView_CellContentClick(object sender, DataGridViewCellEventArgs e)
    {
        try
        {
            if(e.ColumnIndex == 7)
            {
                string task = OthetView.Rows[e.RowIndex].Cells[7].Value.ToString();
                if (task == "Delete")
                {
                    if (MessageBox.Show("Удалить эту строку?","Удаление",MessageBoxButtons.YesNo,MessageBoxIcon.Question) == DialogResult.Yes)
                    {
                        int rowIndex = e.RowIndex;
                        OthetView.Rows.RemoveAt(rowIndex);
                        ds.Tables["Othet"].Rows[rowIndex].Delete();
                        adapter.Update(ds, "Othet");
                    }

                }
                else if (task == "Insert")
                {
                    int rowIndex = OthetView.Rows.Count - 1;
                    DataRow row = ds.Tables["Users"].NewRow();
                    row["Time"] = OthetView.Rows[rowIndex].Cells["Time"].Value;
                    row["TABN"] = OthetView.Rows[rowIndex].Cells["TABN"].Value;
                    row["id_oper"] = OthetView.Rows[rowIndex].Cells["id_oper"].Value;
                    row["Id_kass"] = OthetView.Rows[rowIndex].Cells["Id_kass"].Value;
                    row["Prixod"] = OthetView.Rows[rowIndex].Cells["Prixod"].Value;
                    row["Rasxod"] = OthetView.Rows[rowIndex].Cells["Rasxod"].Value;
                    ds.Tables["Othet"].Rows.Add(row);
                    ds.Tables["Othet"].Rows.RemoveAt(ds.Tables["Othet"].Rows.Count);
                    OthetView.Rows.RemoveAt(OthetView.Rows.Count - 1);
                    OthetView.Rows[e.RowIndex].Cells[7].Value = "Delete";
                    adapter.Update(ds, "Othet");
                    newRowAdding = false;


                }
                else if(task == "Update")
                {
                    int r = e.RowIndex;
                    ds.Tables["Othet"].Rows[r]["Time"] = OthetView.Rows[r].Cells["Time"].Value;
                    ds.Tables["Othet"].Rows[r]["TABN"] = OthetView.Rows[r].Cells["TABN"].Value;
                    ds.Tables["Othet"].Rows[r]["id_oper"] = OthetView.Rows[r].Cells["id_oper"].Value;
                    ds.Tables["Othet"].Rows[r]["Id_kass"] = OthetView.Rows[r].Cells["Id_kass"].Value;
                    ds.Tables["Othet"].Rows[r]["Prixod"] = OthetView.Rows[r].Cells["Prixod"].Value;
                    ds.Tables["Othet"].Rows[r]["Rasxod"] = OthetView.Rows[r].Cells["Rasxod"].Value;
                    adapter.Update(ds, "Othet");
                    OthetView.Rows[e.RowIndex].Cells[7].Value = "Delete";
                }
                ReloadData();
            }
                
        }

        catch (Exception ex)
        {
            MessageBox.Show(ex.Message, "Ошибка!", MessageBoxButtons.OK, MessageBoxIcon.Error);
        }
    }

        private void OthetView_UserAddedRow(object sender, DataGridViewRowEventArgs e)
    {
        try
        {
            if (newRowAdding == false)
                newRowAdding = true;
            int lastRow = OthetView.Rows.Count - 2;
            DataGridViewRow row = OthetView.Rows[lastRow];
            DataGridViewLinkCell linkCell = new DataGridViewLinkCell();
            OthetView[7, lastRow] = linkCell;
            row.Cells["Delete"].Value = "Добавить";
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message, "Ошибка!", MessageBoxButtons.OK, MessageBoxIcon.Error);
        }
    }

    private void OthetView_CellValueChanged(object sender, DataGridViewCellEventArgs e)
    {
        try
        {
            if (newRowAdding == false)
            {
                int rowIndex = OthetView.SelectedCells[0].RowIndex;
               DataGridViewRow editingRow = OthetView.Rows[rowIndex];
                DataGridViewLinkCell linkCell = new DataGridViewLinkCell();
                OthetView[7, rowIndex] = linkCell;
                editingRow.Cells["Delete"].Value = "Обновить";

            }

        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message, "Ошибка!", MessageBoxButtons.OK, MessageBoxIcon.Error);
        }
    }

    private void OthetView_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
    {
        e.Control.KeyPress -= new KeyPressEventHandler(Collumn_KeyPress);
        if (OthetView.CurrentCell.ColumnIndex == 2 ^ OthetView.CurrentCell.ColumnIndex == 3 ^ OthetView.CurrentCell.ColumnIndex == 4 ^ OthetView.CurrentCell.ColumnIndex == 5 ^ OthetView.CurrentCell.ColumnIndex == 6)
        {
            TextBox textBox = e.Control as TextBox;
            if (textBox != null)
            {
                textBox.KeyPress += new KeyPressEventHandler(Collumn_KeyPress);

            }
        }


    }
    private void Collumn_KeyPress(object sender, KeyPressEventArgs e)
    {
        if(!char.IsControl(e.KeyChar)&& !char.IsDigit(e.KeyChar))
        {
            e.Handled = true;
        }
    }
}

}


Ответы (0 шт):