Quantcast
Channel: CSharp Forum Latest Questions
Viewing all articles
Browse latest Browse all 32060

How to make fast saving Checkboxes inside Gridview

$
0
0

Scenario: I have a gridview that loads morethan 300 rows..but it takes a minute to save the value of checkboxes..how can i resolved this..





ASPX

 

<asp:GridViewID="gridRolApp"runat="server"ClientIDMode="Static"

               BorderColor="#0070C0"GridLines="None"AutoGenerateColumns="False"

               Width="1100px"UseAccessibleHeader="false"CssClass="Content"

               datakeynames="User_Pidx,BusinessUnit,Department">

            <Columns>

               <asp:TemplateField>

                  <HeaderStyleWidth="200px"/>

                <HeaderTemplate>BUSINESS UNIT</HeaderTemplate>

                      <ItemStyleBackColor="#EFEFEF"Width="200px"Font-Size="12px"/>

                      <ItemTemplate>

                        <%#Eval("Plant_Name")%>                   

                      </ItemTemplate>

               </asp:TemplateField>

               <asp:TemplateField>

               <HeaderStyleWidth="200px"/>

                  <HeaderTemplate>DEPARTMENT</HeaderTemplate>

                     <ItemStyleBackColor="#EFEFEF"Width="200px"Font-Size="12px"/>

                      <ItemTemplate>

                        <%#Eval("Dept_Name")%>

                      </ItemTemplate>

               </asp:TemplateField>

                <asp:TemplateField>

                  <HeaderStyleHorizontalAlign="Center"/>

                  <HeaderTemplate>

                  <asp:CheckBoxrunat="server"id="chkAllDeptHead"AutoPostBack="True"oncheckedchanged="chkAllDeptHead_CheckedChanged"/>

                  <br>DH

                  </HeaderTemplate>

                  <ItemTemplate>

                        <center><asp:CheckBoxrunat="server"id="chkDeptHead"OnDataBinding="chkDeptHead_DataBinding"/></center>

                  </ItemTemplate>

                </asp:TemplateField>

                <asp:TemplateField>

                  <HeaderStyleHorizontalAlign="Center"/>

                  <HeaderTemplate>

                  <asp:CheckBoxrunat="server"id="chkAllSM"AutoPostBack="True"oncheckedchanged="chkAllSM_CheckedChanged"/>

                  <br>SM

                  </HeaderTemplate>

                  <ItemTemplate>

                        <center><asp:CheckBoxrunat="server"id="chkSM"OnDataBinding="chkSM_DataBinding"/></center>

                      </ItemTemplate>

                </asp:TemplateField>

                <asp:TemplateField>

                  <HeaderTemplate>

                  <HeaderStyleHorizontalAlign="Center"/>

                  <asp:CheckBoxrunat="server"id="chkAllTMM"AutoPostBack="True"oncheckedchanged="chkAllTMM_CheckedChanged"/>

                  <br>TMM

                  </HeaderTemplate>

                       <ItemTemplate>

                        <center><asp:CheckBoxrunat="server"id="chkTMM"OnDataBinding="chkTMM_DataBinding"/></center>

                      </ItemTemplate>

                </asp:TemplateField>

                <asp:TemplateField>

                 <HeaderStyleHorizontalAlign="Center"/>

                 <HeaderTemplate>

                  <asp:CheckBoxrunat="server"id="chkAllHRM"AutoPostBack="True"oncheckedchanged="chkAllHRM_CheckedChanged"/>

                  <br/>HRM

                  </HeaderTemplate>

                  <ItemTemplate>

                        <center><asp:CheckBoxrunat="server"id="chkHRM"OnDataBinding="chkHRM_DataBinding"/></center>

                      </ItemTemplate>

                </asp:TemplateField>

                <asp:TemplateField>

                  <HeaderStyleHorizontalAlign="Center"/>

                  <HeaderTemplate>

                  <asp:CheckBoxrunat="server"id="chkAllFM"AutoPostBack="True"oncheckedchanged="chkAllFM_CheckedChanged"/>

                  <br/>FM

                  </HeaderTemplate>

                  <ItemTemplate>

                        <center><asp:CheckBoxrunat="server"id="chkFM"OnDataBinding="chkFM_DataBinding"/></center>

                      </ItemTemplate>

                </asp:TemplateField>

                <asp:TemplateField>

                  <HeaderStyleHorizontalAlign="Center"/>

                  <HeaderTemplate>

                  <asp:CheckBoxrunat="server"id="chkAllFD"AutoPostBack="True"oncheckedchanged="chkAllFD_CheckedChanged"/>

                  <br/>FD

                  </HeaderTemplate>

                  <ItemTemplate>

                        <center><asp:CheckBoxrunat="server"id="chkFD"OnDataBinding="chkFD_DataBinding"/></center>

                      </ItemTemplate>

                </asp:TemplateField>

                <asp:TemplateField>

                  <HeaderStyleHorizontalAlign="Center"/>

                  <HeaderTemplate>

                  <asp:CheckBoxrunat="server"id="chkAllGM"AutoPostBack="True"oncheckedchanged="chkAllGM_CheckedChanged"/>

                  <br/>GM

                  </HeaderTemplate>

                  <ItemTemplate>

                        <center><asp:CheckBoxrunat="server"id="chkGM"OnDataBinding="chkGM_DataBinding"/></center>

                      </ItemTemplate>

                </asp:TemplateField>

                <asp:TemplateField>

                  <HeaderStyleHorizontalAlign="Center"/>

                  <HeaderTemplate>

                  <asp:CheckBoxrunat="server"id="chkAllSGM"AutoPostBack="True"oncheckedchanged="chkAllSGM_CheckedChanged"/>

                  <br/>SGM

                  </HeaderTemplate>

                      <ItemTemplate>

                        <center><asp:CheckBoxrunat="server"id="chkSGM"OnDataBinding="chkSGM_DataBinding"/></center>

                      </ItemTemplate>

                </asp:TemplateField>

                <asp:TemplateField>

                  <HeaderStyleHorizontalAlign="Center"/>

                  <HeaderTemplate>

                  <asp:CheckBoxrunat="server"id="chkAllFC"AutoPostBack="True"oncheckedchanged="chkAllFC_CheckedChanged"/>

                  <br/>FC

                  </HeaderTemplate>

                      <ItemTemplate>

                        <center><asp:CheckBoxrunat="server"id="chkFC"OnDataBinding="chkFC_DataBinding"/></center>

                      </ItemTemplate>

                </asp:TemplateField>

                <asp:TemplateField>

                  <HeaderStyleHorizontalAlign="Center"/>

                  <HeaderTemplate>

                  <asp:CheckBoxrunat="server"id="chkAllVPFHead"AutoPostBack="True"oncheckedchanged="chkAllVPFHead_CheckedChanged"/>

                  <br/>VP-FH

                  </HeaderTemplate>

                      <ItemTemplate>

                        <center><asp:CheckBoxrunat="server"id="chkVPFHead"OnDataBinding="chkVPFHead_DataBinding"/></center>

                      </ItemTemplate>

                </asp:TemplateField>

                <asp:TemplateField>

                 <HeaderStyleHorizontalAlign="Center"/>

                 <HeaderTemplate>

                  <asp:CheckBoxrunat="server"id="chkAllVPML"AutoPostBack="True"oncheckedchanged="chkAllVPML_CheckedChanged"/>

                  <br/>VP-M&L

                  </HeaderTemplate>

                      <ItemTemplate>

                        <center><asp:CheckBoxrunat="server"id="chkVPML"OnDataBinding="chkVPML_DataBinding"/></center>

                      </ItemTemplate>

                </asp:TemplateField>

                <asp:TemplateField>

                  <HeaderStyleHorizontalAlign="Center"/>

                  <HeaderTemplate>

                  <asp:CheckBoxrunat="server"id="chkAllCorpLegal"AutoPostBack="True"oncheckedchanged="chkAllCorpLegal_CheckedChanged"/>

                  <br/>CLS

                  </HeaderTemplate>

                      <ItemTemplate>

                        <center><asp:CheckBoxrunat="server"id="chkCorpLegal"OnDataBinding="chkCorpLegal_DataBinding"/></center>

                      </ItemTemplate>

                </asp:TemplateField>

                <asp:TemplateField>

                 <HeaderStyleHorizontalAlign="Center"/>

                 <HeaderTemplate>

                  <asp:CheckBoxrunat="server"id="chkAllVPHR"AutoPostBack="True"oncheckedchanged="chkAllVPHR_CheckedChanged"/>

                  <br/>VP-HR

                  </HeaderTemplate>

                      <ItemTemplate>

                        <center><asp:CheckBoxrunat="server"id="chkVPHR"OnDataBinding="chkVPHR_DataBinding"/></center>

                      </ItemTemplate>

                </asp:TemplateField>

                <asp:TemplateField>

                  <HeaderStyleHorizontalAlign="Center"/>

                  <HeaderTemplate>

                  <asp:CheckBoxrunat="server"id="chkAllEVPSales"AutoPostBack="True"oncheckedchanged="chkAllEVPSales_CheckedChanged"/>

                  <br/>EVPSales

                  </HeaderTemplate>

                      <ItemTemplate>

                        <center><asp:CheckBoxrunat="server"id="chkEVPSales"OnDataBinding="chkEVPSales_DataBinding"/></center>

                      </ItemTemplate>

                </asp:TemplateField>

                <asp:TemplateField>

                 <HeaderStyleHorizontalAlign="Center"/>

                 <HeaderTemplate>

                  <asp:CheckBoxrunat="server"id="chkAllCFO"AutoPostBack="True"oncheckedchanged="chkAllCFO_CheckedChanged"/>

                  <br/>CFO

                  </HeaderTemplate>

                      <ItemTemplate>

                        <center><asp:CheckBoxrunat="server"id="chkCFO"OnDataBinding="chkCFO_DataBinding" /></center>

                      </ItemTemplate>

                </asp:TemplateField>

                <asp:TemplateField>

                  <HeaderStyleHorizontalAlign="Center"/>

                  <HeaderTemplate>

                  <asp:CheckBoxrunat="server"id="chkAllPres"AutoPostBack="True"/>

                  <br/>Pres

                  </HeaderTemplate>

                      <ItemTemplate>

                        <center><asp:CheckBoxrunat="server"id="chkPres"OnDataBinding="chkPres_DataBinding"/></center>

                      </ItemTemplate>

                </asp:TemplateField>

                 <asp:TemplateField>

                 <HeaderStyleHorizontalAlign="Center"/>

                 <HeaderTemplate>

                  <asp:CheckBoxrunat="server"id="chkAllCEO"AutoPostBack="True"oncheckedchanged="chkAllCEO_CheckedChanged"/>

                  <br/>CEO

                  </HeaderTemplate>

                      <ItemTemplate>

                        <center><asp:CheckBoxrunat="server"id="chkCEO"OnDataBinding="chkCEO_DataBinding"/></center>

                      </ItemTemplate>

                </asp:TemplateField>

         </Columns>

         <HeaderStyleCssClass="GridviewScrollHeader"/>

         <RowStyleCssClass="GridviewScrollItem"/>

         <PagerStyleCssClass="GridviewScrollPager"/>     

         </asp:GridView>

 

<asp:Buttonrunat="server"Text="Save"ID="btnSave"Width="100"CssClass="TextDrop"onclick="btnSave_Click"/>

 

 

protectedvoid btnSave_Click(object sender, EventArgs e)

        {

           if (txtValidation().Equals(true))

            {

               CLMSDataContext context = newCLMSDataContext();

               try

                {

                    context.ExecuteCommand("UPDATE Dim_User SET PosLoc_Abbreviation = '" + txtPosLocAbb.Text + "', " + Environment.NewLine +

                                           " Active ='"+ chkActive.Checked +"'," + Environment.NewLine +

                                           " Admin ='" + chkAdmin.Checked + "'," + Environment.NewLine +

                                           " RealTime_Notification ='" + ChkRTNotification.Checked + "'," +Environment.NewLine +

                                           " LastName = '" + txtLastName.Text + "', " + Environment.NewLine +

                                           " FirstName = '" + txtFirstName.Text + "', " + Environment.NewLine +

                                           " MiddleInitial = '" + txtMI.Text.Trim() + "', " + Environment.NewLine +

                                           " NickName = '" + txtAKA.Text + "', " + Environment.NewLine +

                                           " SMTPAddress = '" + txtEmail.Text + "', " + Environment.NewLine +

                                           " Plant_PIdx = '" + defaultBU.SelectedValue + "', Dept_PIdx = '" + defaultDept.SelectedValue + "' " + Environment.NewLine +

                                           " WHERE User_Idx = '" + Convert.ToInt64(Session["UserID"]) + "'");

 

                       bool chkboxIsChecked = false;

 

                       List<Dim_User_Role> deleteRole = (from key in context.Dim_User_Roles

                                                         where key.User_PIdx == Convert.ToInt64(Session["UserID"])

                                                         select key).ToList();

 

                        context.Dim_User_Roles.DeleteAllOnSubmit(deleteRole);

                        context.SubmitChanges();

 

                       foreach (GridViewRow row in gridRolApp.Rows)

                        {

 

                           string pUserID = gridRolApp.DataKeys[row.RowIndex].Values["User_Pidx"].ToString();

                           string pPlantID = gridRolApp.DataKeys[row.RowIndex].Values["BusinessUnit"].ToString();

                           string pDeptID = gridRolApp.DataKeys[row.RowIndex].Values["Department"].ToString();

 

                            chkboxIsChecked = false;

                           CheckBox chkDeptHead = (CheckBox)row.FindControl("chkDeptHead");

                           if ((chkDeptHead != null)&& (chkDeptHead.Checked == true))

                            {

                                chkboxIsChecked = true;

                            }

                            RoleSaving(Convert.ToInt64(pUserID), Convert.ToInt64(pPlantID), Convert.ToInt64(pDeptID), getRole("chkDeptHead"), chkboxIsChecked);

 

                            chkboxIsChecked = false;

                           CheckBox chkSM = (CheckBox)row.FindControl("chkSM");

                           if ((chkSM != null)&& (chkSM.Checked == true))

                            {

                                chkboxIsChecked = true;

                           }

                            RoleSaving(Convert.ToInt64(pUserID), Convert.ToInt64(pPlantID), Convert.ToInt64(pDeptID), getRole("chkSM"), chkboxIsChecked);

 

                            chkboxIsChecked = false;

                           CheckBox chkTMM = (CheckBox)row.FindControl("chkTMM");

                           if ((chkTMM != null)&& (chkTMM.Checked == true))

                            {

                                chkboxIsChecked = true;

                            }

                           RoleSaving(Convert.ToInt64(pUserID), Convert.ToInt64(pPlantID),Convert.ToInt64(pDeptID), getRole("chkTMM"), chkboxIsChecked);

 

                            chkboxIsChecked = false;

                           CheckBox chkHRM = (CheckBox)row.FindControl("chkHRM");

                           if ((chkHRM != null)&& (chkHRM.Checked == true))

                            {

                                chkboxIsChecked = true;

                            }

                            RoleSaving(Convert.ToInt64(pUserID), Convert.ToInt64(pPlantID), Convert.ToInt64(pDeptID), getRole("chkHRM"), chkboxIsChecked);

 

                            chkboxIsChecked = false;

                           CheckBox chkFM = (CheckBox)row.FindControl("chkFM");

                           if ((chkFM != null)&& (chkFM.Checked == true))

                            {

                                chkboxIsChecked = true;

                            }

                            RoleSaving(Convert.ToInt64(pUserID), Convert.ToInt64(pPlantID), Convert.ToInt64(pDeptID), getRole("chkFM"), chkboxIsChecked);

 

                            chkboxIsChecked = false;

                           CheckBox chkFD = (CheckBox)row.FindControl("chkFD");

                           if ((chkFD != null)&& (chkFD.Checked == true))

                            {

                                chkboxIsChecked = true;

                            }

                            RoleSaving(Convert.ToInt64(pUserID), Convert.ToInt64(pPlantID), Convert.ToInt64(pDeptID), getRole("chkFD"), chkboxIsChecked);

 

                            chkboxIsChecked = false;

                           CheckBox chkGM = (CheckBox)row.FindControl("chkGM");

                           if ((chkGM != null)&& (chkGM.Checked == true))

                            {

                                chkboxIsChecked = true;

                            }

                            RoleSaving(Convert.ToInt64(pUserID), Convert.ToInt64(pPlantID), Convert.ToInt64(pDeptID), getRole("chkGM"), chkboxIsChecked);

 

                            chkboxIsChecked = false;

                           CheckBox chkSGM = (CheckBox)row.FindControl("chkSGM");

                           if ((chkSGM != null)&& (chkSGM.Checked == true))

                            {

                                chkboxIsChecked = true;

                            }

                            RoleSaving(Convert.ToInt64(pUserID), Convert.ToInt64(pPlantID), Convert.ToInt64(pDeptID), getRole("chkSGM"), chkboxIsChecked);

 

                            chkboxIsChecked = false;

                           CheckBox chkFC = (CheckBox)row.FindControl("chkFC");

                           if ((chkFC != null)&& (chkFC.Checked == true))

                            {

                                chkboxIsChecked = true;

                            }

                            RoleSaving(Convert.ToInt64(pUserID), Convert.ToInt64(pPlantID), Convert.ToInt64(pDeptID), getRole("chkFC"), chkboxIsChecked);

                           

                            chkboxIsChecked = false;

                           CheckBox chkVPFHead = (CheckBox)row.FindControl("chkVPFHead");

                           if ((chkVPFHead != null)&& (chkVPFHead.Checked == true))

                            {

                                chkboxIsChecked = true;

                            }

                            RoleSaving(Convert.ToInt64(pUserID), Convert.ToInt64(pPlantID), Convert.ToInt64(pDeptID), getRole("chkVPFHead"), chkboxIsChecked);

 

                            chkboxIsChecked = false;

                           CheckBox chkVPML = (CheckBox)row.FindControl("chkVPML");

                           if ((chkVPML != null)&& (chkVPML.Checked == true))

                            {

                                chkboxIsChecked = true;

                            }

                            RoleSaving(Convert.ToInt64(pUserID), Convert.ToInt64(pPlantID), Convert.ToInt64(pDeptID), getRole("chkVPML"), chkboxIsChecked);

 

                            chkboxIsChecked = false;

                           CheckBox chkCorpLegal = (CheckBox)row.FindControl("chkCorpLegal");

                           if ((chkCorpLegal != null)&& (chkCorpLegal.Checked == true))

                            {

                                chkboxIsChecked = true;

                            }

                            RoleSaving(Convert.ToInt64(pUserID), Convert.ToInt64(pPlantID), Convert.ToInt64(pDeptID), getRole("chkCorpLegal"), chkboxIsChecked);

 

                            chkboxIsChecked = false;

                           CheckBox chkVPHR = (CheckBox)row.FindControl("chkVPHR");

                           if ((chkVPHR != null)&& (chkVPHR.Checked == true))

                            {

                                chkboxIsChecked = true;

                            }

                            RoleSaving(Convert.ToInt64(pUserID), Convert.ToInt64(pPlantID), Convert.ToInt64(pDeptID), getRole("chkVPHR"), chkboxIsChecked);

 

                            chkboxIsChecked = false;

                           CheckBox chkEVPSales = (CheckBox)row.FindControl("chkEVPSales");

                           if ((chkEVPSales != null)&& (chkEVPSales.Checked == true))

                            {

                                chkboxIsChecked = true;

                            }

                            RoleSaving(Convert.ToInt64(pUserID), Convert.ToInt64(pPlantID), Convert.ToInt64(pDeptID), getRole("chkEVPSales"), chkboxIsChecked);

 

                            chkboxIsChecked = false;

                           CheckBox chkCFO = (CheckBox)row.FindControl("chkCFO");

                           if ((chkCFO != null)&& (chkCFO.Checked == true))

                            {

                                chkboxIsChecked = true;

                            }

                            RoleSaving(Convert.ToInt64(pUserID), Convert.ToInt64(pPlantID), Convert.ToInt64(pDeptID), getRole("chkCFO"), chkboxIsChecked);

 

                            chkboxIsChecked = false;

                           CheckBox chkPres = (CheckBox)row.FindControl("chkPres");

                           if ((chkPres != null)&& (chkPres.Checked == true))

                           {

                                chkboxIsChecked = true;

                            }

                            RoleSaving(Convert.ToInt64(pUserID), Convert.ToInt64(pPlantID), Convert.ToInt64(pDeptID), getRole("chkPres"), chkboxIsChecked);

 

                            chkboxIsChecked = false;

                           CheckBox chkCEO = (CheckBox)row.FindControl("chkCEO");

                           if ((chkCEO != null)&& (chkCEO.Checked == true))

                           {

                                chkboxIsChecked = true;

                            }

                            RoleSaving(Convert.ToInt64(pUserID), Convert.ToInt64(pPlantID), Convert.ToInt64(pDeptID), getRole("chkCEO"), chkboxIsChecked);

 

                          

                        }

 

                        successTitle.InnerText = "User Registration";

                        pSuccessMessage1.InnerText = "User successfully registered!";

                        btnSuccessOk.Focus();

                       modpopSuccess.Show();

 

                }

               catch (Exception ex)

                {

                    successTitle.InnerText = "User Registration";

                    pSuccessMessage1.InnerText = ex.Message;

                   btnSuccessOk.Focus();

                    modpopSuccess.Show();

 

                }

               finally

                { context.Dispose(); }

            }

           else

            {

                successTitle.InnerText = "User Registration";

                pSuccessMessage1.InnerText = "Incomplete field!";

                btnSuccessOk.Focus();

                modpopSuccess.Show();

               

            }

        }

 

 

     privateInt64 getRole(string RoleStr)

        {

           Int64 roleid = 0;

 

           switch (RoleStr)

            {

               //case "chkInitiator": roleid = 1; break;

               case"chkDeptHead": roleid = 2; break;

               case"chkSM": roleid = 3; break;

               case"chkTMM": roleid = 4; break;

               case"chkHRM": roleid = 5; break;

               case"chkFM": roleid = 6; break;

               case"chkFD": roleid = 7; break;

               case"chkGM": roleid = 8; break;

               case"chkSGM": roleid = 9; break;

               case"chkFC": roleid = 10; break;

               case"chkVPFHead": roleid = 11; break;

               case"chkVPML": roleid = 12; break;

               case"chkCorpLegal": roleid = 13; break;

               case"chkVPHR": roleid = 14; break;

               case"chkEVPSales": roleid = 15; break;

               case"chkCFO": roleid = 16; break;

               case"chkPres": roleid = 17; break;

               case"chkCEO": roleid = 18; break;

               default: roleid = 0; break;

            }

           return roleid;

        }

 

      

       

       privatevoid RoleSaving(Int64 userid, Int64 plant, Int64 dept, Int64 role, bool isChecked)

        {

           CLMSDataContext context = newCLMSDataContext();

           try

            {

               var roleRec = (from r in context.Dim_User_Roles

                              where r.User_PIdx == userid &&

                               r.Dept_PIdx == dept &&

                              r.Plant_PIdx == plant &&

                               r.Role_PIdx == role

                              select r).ToList();

 

               if (roleRec.Count == 0)

                {

                   try

                    {

                       if (isChecked == true)

                        {

                           Dim_User_Role uRol = newDim_User_Role();

                            uRol.User_PIdx = userid;

                            uRol.Plant_PIdx = plant;

                            uRol.Dept_PIdx = dept;

                            uRol.Role_PIdx = role;

 

                            context.Dim_User_Roles.InsertOnSubmit(uRol);

                            context.SubmitChanges();

 

                        }

                    }

                   catch (Exception e)

                    {

                        context.Transaction.Rollback();

                        Response.Write(e.Message);

                    }

                }

 

            }

           catch (Exception e)

            { Response.Write(e.Message); return; }

           finally

            {

                context.Dispose();

            }

 

        }


Viewing all articles
Browse latest Browse all 32060

Trending Articles