i tried beginupdate() suspendlayout() and doublebuffered
private void GridSettings()
{
if (!sfDataGrid2.AllowEditing)
{
foreach (DataRow dr in FrmColSettingDT.Rows)
{
sfDataGrid2.Columns[dr["ColumnName"].ToString()].HeaderText = dr["Text"].ToString();
sfDataGrid2.Columns[dr["ColumnName"].ToString()].Visible = Convert.ToBoolean(dr["IsVisible"]);
}
}
else
{
foreach (DataRow dr in FrmColSettingDT.Rows)
{
sfDataGrid2.Columns[dr["ColumnName"].ToString()].HeaderText = dr["Text"].ToString();
sfDataGrid2.Columns[dr["ColumnName"].ToString()].Visible = Convert.ToBoolean(dr["IsVisible"]);
// sfDataGrid2.Columns[dr["ColumnName"].ToString()].AllowEditing = Convert.ToBoolean(dr["IsLocked"]);
}
}
sfDataGrid2.Columns[0].Visible = false;
sfDataGrid2.ShowRowHeader = true;
if (IsNewRowCanBeAdded)
{
sfDataGrid2.AddNewRowPosition = Syncfusion.WinForms.DataGrid.Enums.RowPosition.FixedBottom;
}
else
{
sfDataGrid2.AddNewRowPosition = Syncfusion.WinForms.DataGrid.Enums.RowPosition.None;
}
}
public void DataGridRefresh()
{
progressManager.StartProgress(this);
sfDataGrid2.CurrentCell.EndEdit(true);
sfDataGrid2.DataSource = sql.ExecuteDataTable(GetProcName, null);
GridSettings();
sfDataGrid2.Refresh();
sfDataGrid2.Update();
progressManager.CloseProgress();
}