First, we create a data table Runtime That we call on Load Event
DataTable Dt_Test = new DataTable();
DataTable LoadTestDataTables()
{
Dt_Test.Columns.Add("SerialNo", typeof(int));
Dt_Test.Columns.Add("TestType", typeof(string));
Dt_Test.Columns.Add("TestID", typeof(int));
Dt_Test.Columns.Add("TestName", typeof(string));
return Dt_Test;
}
We Will create a function That check record exist if already added
private Boolean RowRecordExist(DataTable dt, int RowID)
{
Boolean Result = false;
foreach (DataRow recRow in dt.Select())
{
if (Convert.ToInt32(recRow["TestID"]) == RowID)
{
Result = true;
}
}
return Result;
}
On Save Click Event
if (Dt_Test.Rows.Count > 0)
{
if (!RowRecordExist(Dt_Test, Convert.ToInt32(TestID), 2, TestType))
{
DataRow workRow = Dt_Test.NewRow();
workRow[“SerialNo”] = Dt_Test.Rows.Count + 1;
workRow[“TestType”] = TestType;
workRow[“TestID”] = TestID;
workRow[“TestName”] = testTitle;
Dt_Test.Rows.Add(workRow);
LoadGridTest(Dt_Test);
}
else
{
XtraMessageBox.Show("Record Exist!", "Validate!", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
else
{
DataRow workRow = Dt_Test.NewRow();
workRow["SerialNo"] = Dt_Test.Rows.Count + 1;
workRow["TestType"] = TestType;
workRow["TestID"] = TestID;
workRow["TestName"] = testTitle;
Dt_Test.Rows.Add(workRow);
LoadGridTest(Dt_Test);
}
private void LoadGridTest(DataTable tbl)
{
GrdTest.DataSource = tbl;
}
Row Delete Event
private void repositoryItemHyperTestRowDelete_Click(object sender, EventArgs e)
{
int ID;
DevExpress.XtraGrid.Views.Grid.GridView view = default(DevExpress.XtraGrid.Views.Grid.GridView);
view = gvtest;
ID = Convert.ToInt32(view.GetRowCellValue(view.FocusedRowHandle, "SerialNo"));
foreach (DataRow recRow in Dt_Test.Select())
{
if (Convert.ToInt32(recRow["SerialNo"])==ID)
{
Dt_Test.Rows.Remove(recRow);
}
}
Dt_Test.AcceptChanges();
ResetRowID(Dt_Test);
LoadGridTest(Dt_Test);
}
Row Delete to Reset Serial Number of Datatable
private void ResetRowID(DataTable dt)
{
int rowNumber = 1;
if (dt.Rows.Count > 0)
{
foreach (DataRow row in dt.Rows)
{
row[0] = rowNumber;
rowNumber++;
}
}
}