HI,
Currently i am using a radgrid control in our application. I have enabled client side column reorder "true". after that i am saving the preference in database , so that when the user revisit the page it will maintain the column order from database.
The issue i am facing is, it is storing same order index for two columns, can any one help me how i will get unique order index for each column.
my code:
foreach (GridColumn col in RadGridSearch.MasterTableView.Columns)
{
if (col.UniqueName == "Status" || col.UniqueName == "Deletecolumn" ||
col.UniqueName == "GridEditColumn" || col.UniqueName == "DetailView" ||
col.UniqueName == "ContactDetails" || col.UniqueName == "ActiveFlag1")
continue;
else
{
Int64 UserProfileFieldID = 0, UserProfileID = 0;
int SortType = 0, SortSequence = 0;
DataRow dr;
dr = configData.Tables["UserProfileFields"].NewRow();
dr[0] = Convert.ToInt32(col.UniqueName.Split('-')[1]); // Field Number
GetFieldValues(GetColumnName(col), Convert.ToInt32(col.UniqueName.Split('-')[1]),
ref SortType, ref SortSequence, ref UserProfileFieldID, ref UserProfileID);
dr[1] = SortType; // Sorting Type
dr[2] = SortSequence; // Sorting Sequence
dr[3] = col.OrderIndex; // Column Index
dr[4] = col.HeaderStyle.Width.Value; // Column Size
dr[5] = col.EvaluateFilterExpression().ToString(); // Filter exp
if (!string.IsNullOrEmpty(col.EvaluateFilterExpression()))
{
filterSeq = filterSeq + 1;
dr[6] = filterSeq;
}
else
dr[6] = 0;
dr[7] = col.Display; // Show in UI
if (objSearchView.Session["UserPreference"] != null)
{
dr[8] = UserProfileFieldID; // UserProfileFieldID
dr[9] = UserProfileID; // UserProfileID
}
configData.Tables["UserProfileFields"].Rows.Add(dr);
temp++;
}
}
AddUserProfileDetail(IdentifierType, objSearchView.Session["UserDescription"] as string, "CustomerSearch", "RadGridSearch", RadGridSearch.MasterTableView.PageSize, RadGridSearch.MasterTableView.FilterExpression, configData);
//ScriptManager.RegisterStartupScript(objSearchView.Page, objSearchView.GetType(), "alertMessage", "alert('User Preference Saved Successfully')", true);
//LoadCustomerColumns();
}
}
Thanks In advance.
Currently i am using a radgrid control in our application. I have enabled client side column reorder "true". after that i am saving the preference in database , so that when the user revisit the page it will maintain the column order from database.
The issue i am facing is, it is storing same order index for two columns, can any one help me how i will get unique order index for each column.
my code:
foreach (GridColumn col in RadGridSearch.MasterTableView.Columns)
{
if (col.UniqueName == "Status" || col.UniqueName == "Deletecolumn" ||
col.UniqueName == "GridEditColumn" || col.UniqueName == "DetailView" ||
col.UniqueName == "ContactDetails" || col.UniqueName == "ActiveFlag1")
continue;
else
{
Int64 UserProfileFieldID = 0, UserProfileID = 0;
int SortType = 0, SortSequence = 0;
DataRow dr;
dr = configData.Tables["UserProfileFields"].NewRow();
dr[0] = Convert.ToInt32(col.UniqueName.Split('-')[1]); // Field Number
GetFieldValues(GetColumnName(col), Convert.ToInt32(col.UniqueName.Split('-')[1]),
ref SortType, ref SortSequence, ref UserProfileFieldID, ref UserProfileID);
dr[1] = SortType; // Sorting Type
dr[2] = SortSequence; // Sorting Sequence
dr[3] = col.OrderIndex; // Column Index
dr[4] = col.HeaderStyle.Width.Value; // Column Size
dr[5] = col.EvaluateFilterExpression().ToString(); // Filter exp
if (!string.IsNullOrEmpty(col.EvaluateFilterExpression()))
{
filterSeq = filterSeq + 1;
dr[6] = filterSeq;
}
else
dr[6] = 0;
dr[7] = col.Display; // Show in UI
if (objSearchView.Session["UserPreference"] != null)
{
dr[8] = UserProfileFieldID; // UserProfileFieldID
dr[9] = UserProfileID; // UserProfileID
}
configData.Tables["UserProfileFields"].Rows.Add(dr);
temp++;
}
}
AddUserProfileDetail(IdentifierType, objSearchView.Session["UserDescription"] as string, "CustomerSearch", "RadGridSearch", RadGridSearch.MasterTableView.PageSize, RadGridSearch.MasterTableView.FilterExpression, configData);
//ScriptManager.RegisterStartupScript(objSearchView.Page, objSearchView.GetType(), "alertMessage", "alert('User Preference Saved Successfully')", true);
//LoadCustomerColumns();
}
}
Thanks In advance.