Hello,
I have a grid which takes 8 seconds to load the data and the same time to do all events. I checked the database stored procedure. But it takes less than a second. Can you please help me to improve the performance.
I am using RAD controls Q4 2006.
I am getting about 800 records with around 55 columns in each record. Out of 55 only 8 columns are visible in the grid but in edit mode all other columns are visible (only 5 are editable rest are disabled). I am using RadAjaxManager to show loading image.
My Radgrid syntax is as shown below:
My codebehind validations are as below:
I also tried using the trial version of the latest controls but the performance is the same.
Any help will be appreciated.
Thank you,
Parth
I have a grid which takes 8 seconds to load the data and the same time to do all events. I checked the database stored procedure. But it takes less than a second. Can you please help me to improve the performance.
I am using RAD controls Q4 2006.
I am getting about 800 records with around 55 columns in each record. Out of 55 only 8 columns are visible in the grid but in edit mode all other columns are visible (only 5 are editable rest are disabled). I am using RadAjaxManager to show loading image.
My Radgrid syntax is as shown below:
<
telerik:RadGrid
ID
=
"RadGrid1"
OnNeedDataSource
=
"RadGrid1_NeedDataSource"
runat
=
"server"
AllowPaging
=
"True"
EditItemStyle-Wrap
=
"true"
AllowSorting
=
"True"
AutoGenerateColumns
=
"False"
AllowAutomaticUpdates
=
"True"
OnUpdateCommand
=
"RadGrid1_UpdateCommand"
AllowFilteringByColumn
=
"True"
Width
=
"99%"
PageSize
=
"14"
OnItemDataBound
=
"RadGrid1_ItemDataBound"
EnableLinqExpressions
=
"false"
OnItemCreated
=
"RadGrid1_ItemCreated"
>
<
MasterTableView
AllowAutomaticDeletes
=
"False"
AllowAutomaticInserts
=
"True"
AllowAutomaticUpdates
=
"True"
Width
=
"100%"
EditMode
=
"EditForms"
CommandItemDisplay
=
"Top"
CanRetrieveAllData
=
"false"
DataKeyNames
=
"proid,subid,appid,q12a,q13a,q15a,q23a,q24a,q25a,q29a"
>
<
EditFormSettings
ColumnNumber
=
"3"
CaptionDataField
=
"profileid"
CaptionFormatString
=
"Edit properties of profileid: {0}"
FormMainTableStyle-Font-Bold
=
"true"
>
<
FormTableItemStyle
Wrap
=
"true"
/>
<
FormCaptionStyle
CssClass
=
"EditFormHeader"
/>
<
FormMainTableStyle
GridLines
=
"None"
CellSpacing
=
"0"
CellPadding
=
"0"
BackColor
=
"#f0f2f4"
Width
=
"100%"
/>
<
FormTableStyle
GridLines
=
"Horizontal"
CellSpacing
=
"0"
CellPadding
=
"2"
BackColor
=
"#f0f2f4"
CssClass
=
"module"
Height
=
"20px"
Font-Size
=
"Small"
HorizontalAlign
=
"Left"
Font-Bold
=
"true"
Font-Names
=
"Arial"
/>
<
FormTableAlternatingItemStyle
Wrap
=
"true"
/>
<
FormStyle
Width
=
"100%"
/>
<
EditColumn
ButtonType
=
"PushButton"
UpdateText
=
"Update"
ItemStyle-Width
=
"50px"
UniqueName
=
"EditCommandColumn1"
CancelText
=
"Cancel"
/>
<
FormTableButtonRowStyle
HorizontalAlign
=
"Left"
/>
</
EditFormSettings
>
My codebehind validations are as below:
protected void RadGrid1_ItemCreated(object sender, GridItemEventArgs e)
{
if ((e.Item is GridEditableItem) && (e.Item.IsInEditMode))
{
GridEditableItem item = (GridEditableItem)e.Item;
string[] arr_condition = { "q12a", "q13a", "q15a", "q23a", "q24a", "q25a", "q29a" };
GridDropDownListColumnEditor editor;
TableCell cell;
foreach (string w in arr_condition)
{
editor = (GridDropDownListColumnEditor)item.EditManager.GetColumnEditor(w);
cell = (TableCell)editor.DropDownListControl.Parent;
RequiredFieldValidator validator = new RequiredFieldValidator();
editor.DropDownListControl.ID = w + "_Required";
validator.ControlToValidate = editor.DropDownListControl.ID;
validator.InitialValue = "-1";
validator.ErrorMessage = " *";
cell.Controls.Add(validator);
}
}
}
protected void RadGrid1_ItemDataBound(object sender, GridItemEventArgs e)
{
string[] arr_condition = { "q12a", "q13a", "q15a", "q23a", "q24a", "q25a", "q29a" };
if (e.Item is GridDataItem)
{
GridEditableItem item = (GridEditableItem)e.Item;
item["q1"].Width = 100;
foreach (string r in arr_condition)
{
if (item[r].Text == "Select")
{
item[r.Substring(0, 4)].Style["color"] = "red";
}
}
}
if ((e.Item is GridEditableItem) && (e.Item.IsInEditMode))
{
GridEditableItem item = (GridEditableItem)e.Item;
string[] arr_readonly = { "appid","proid","subid","q2","q3","q4","q5a","q5b","q5c","q5d","q5e","q6","q7",
"q9a","q9b","q9c","q9d","q9e","q12a","q33","q34","q13a","q14","q16a_1","q16b_1","q16cd_1",
"q16e_1","q17a_1","q17b_1","q17c_1","q17e_1","q18_1","q19a_1","q19b_1","q20a_1","q20b_1","q20c_1",
"q21a_1","q22a_1","q22b_1","q15a","q16a_2","q16b_2","q16cd_2","q16e_2","q17a_2","q17b_2","q17c_2",
"q17e_2","q18_2","q19a_2","q19b_2","q20a_2","q20b_2","q20c_2","q23a","q24a","q25a",
"q26","q28","q29a","q30","q32"};
TextBox temptxtbox;
foreach (string w in arr_readonly)
{
temptxtbox = (TextBox)item[w].Controls[0];
temptxtbox.Enabled = false;
temptxtbox.Width = 250;
temptxtbox.Height = 18;
temptxtbox.Font.Size = 10;
}
RadDatePicker dt = (RadDatePicker)item["q1"].Controls[0];
dt.Enabled = false;
dt.Width = 250;
DropDownList combobox;
foreach (string r in arr_condition)
{
combobox = (DropDownList)item[r].Controls[0];
if (combobox.SelectedItem.Text == "Select")
{
combobox.ForeColor = Color.Red;
}
combobox.Font.Bold = true;
combobox.Font.Size = 12;
combobox.Width = 240;
}
string[] arr_group2 = { "q15a","q16a_2","q16b_2","q16cd_2","q16e_2","q17a_2","q17b_2","q17c_2",
"q17e_2","q18_2","q19a_2","q19b_2","q20a_2","q20b_2","q20c_2"};
foreach (string w in arr_group2)
{
temptxtbox = (TextBox)item[w].Controls[0];
temptxtbox.BackColor = Color.LightCyan;
}
combobox = (DropDownList)item["q15a_coded"].Controls[0];
combobox.BackColor = Color.LightCyan;
}
}
I also tried using the trial version of the latest controls but the performance is the same.
Any help will be appreciated.
Thank you,
Parth