c# - Check for column and bind grid if exists or not -


how bind data itemtemplate of gridview @ rowdatabound event. using gridview , below code grid view.

<asp:gridview id="gvcoreutilization" runat="server" backcolor="white" bordercolor="#cecfce"                     borderstyle="solid" borderwidth="1px" cellpadding="4" forecolor="black" onrowcreated="grdpivot3_rowcreated"                     autogeneratecolumns="false" onrowdatabound="grdcoreutilization_rowdatabound">                     <rowstyle backcolor="#f7f7de" />                     <footerstyle backcolor="#cccc99" />                     <pagerstyle backcolor="#f7f7de" forecolor="black" horizontalalign="right" />                     <selectedrowstyle backcolor="#ce5d5a" font-bold="true" forecolor="white" />                     <headerstyle backcolor="#6b696b" font-bold="true" forecolor="white" horizontalalign="left" />                     <alternatingrowstyle backcolor="white" />                     <columns>                         <asp:templatefield>                             <itemtemplate>                                 <asp:label id="lblroleid" text='<%#eval("roleid") %>' runat="server" visible="false"></asp:label>                             </itemtemplate>                         </asp:templatefield>                         <asp:templatefield>                             <headertemplate>                                 supervisorname                             </headertemplate>                             <itemtemplate>                                 <asp:label id="lblsupervisorname" text='<%#eval("supervisorname") %>' runat="server"></asp:label>                             </itemtemplate>                         </asp:templatefield>                         <asp:templatefield>                             <headertemplate>                                 userecode                             </headertemplate>                             <itemtemplate>                                 <asp:label id="lbluserecode" text='<%#eval("userecode") %>' runat="server"></asp:label>                             </itemtemplate>                         </asp:templatefield>                         <asp:templatefield>                             <headertemplate>                                 username                             </headertemplate>                             <itemtemplate>                                 <asp:label id="lblusername" text='<%#eval("username") %>' runat="server"></asp:label>                             </itemtemplate>                         </asp:templatefield>                         <asp:templatefield>                             <headertemplate>                                 designation                             </headertemplate>                             <itemtemplate>                                 <asp:label id="lbldesignation" text='<%#eval("designation") %>' runat="server"></asp:label>                             </itemtemplate>                         </asp:templatefield>                         <asp:templatefield>                             <headertemplate>                                 l & d training%                             </headertemplate>                             <itemtemplate>                                 <asp:label id="lblldtraining" text='<%#eval("l & d training%") %>' runat="server"></asp:label>                             </itemtemplate>                         </asp:templatefield>                         <asp:templatefield>                             <headertemplate>                                 non production%                             </headertemplate>                             <itemtemplate>                                 <asp:label id="lblnonproduction" text='<%#eval("non production%") %>' runat="server"></asp:label>                             </itemtemplate>                         </asp:templatefield>                         <asp:templatefield>                             <headertemplate>                                 process support%                             </headertemplate>                             <itemtemplate>                                 <asp:label id="lblprocesssupport" text='<%#eval("process support%") %>' runat="server"></asp:label>                             </itemtemplate>                         </asp:templatefield>                         <asp:templatefield>                             <headertemplate>                                 process training%                             </headertemplate>                             <itemtemplate>                                 <asp:label id="lblprocesstraining" text='<%#eval("process training%") %>' runat="server"></asp:label>                             </itemtemplate>                         </asp:templatefield>                         <asp:templatefield>                             <headertemplate>                                 production%                             </headertemplate>                             <itemtemplate>                                 <asp:label id="lblproduction" text='<%#eval("production%") %>' runat="server"></asp:label>                             </itemtemplate>                         </asp:templatefield>                         <asp:templatefield>                             <headertemplate>                                 system downtime%                             </headertemplate>                             <itemtemplate>                                 <asp:label id="lblsystemdowntime" text='<%#eval("system downtime%") %>' runat="server"></asp:label>                             </itemtemplate>                         </asp:templatefield>                         <asp:templatefield>                             <headertemplate>                                 grand total%                             </headertemplate>                             <itemtemplate>                                 <asp:label id="lblgrandtotal" text='<%#eval("grand total%") %>' runat="server"></asp:label>                             </itemtemplate>                         </asp:templatefield>                     </columns>                 </asp:gridview> 

here want remove eval binding data itemtemplate. in place of want check weather

  1. if column exists in dataset/datatable or not mentioned in gridview.
  2. if column exists bind column appropriate itemtemplate .
  3. if column not exist display , bind available column , hide not available column.

query used:-

select roleid,supervisorname,userecode,username,designation,timespent,activityname                                  coreutilizationforrole1 roleid=3 

after executing above query, doing pivot on activity column c# , columns "l & d training%","non production%","process support%","process training%","production%","system downtime%","grand total%" binding on itemtemplate.

 if (e.row.rowtype == datacontrolrowtype.datarow)         {             system.web.ui.webcontrols.label lblroleno = (system.web.ui.webcontrols.label)e.row.findcontrol("lblroleid");             system.web.ui.webcontrols.label lblsupervisorname = (system.web.ui.webcontrols.label)e.row.findcontrol("lblsupervisorname");             system.web.ui.webcontrols.label lbluserecode = (system.web.ui.webcontrols.label)e.row.findcontrol("lbluserecode");             system.web.ui.webcontrols.label lblusername = (system.web.ui.webcontrols.label)e.row.findcontrol("lblusername");             system.web.ui.webcontrols.label lbldesignation = (system.web.ui.webcontrols.label)e.row.findcontrol("lbldesignation");             system.web.ui.webcontrols.label lblldtraining = (system.web.ui.webcontrols.label)e.row.findcontrol("lblldtraining");             system.web.ui.webcontrols.label lblnonproduction = (system.web.ui.webcontrols.label)e.row.findcontrol("lblnonproduction");             system.web.ui.webcontrols.label lblprocesssupport = (system.web.ui.webcontrols.label)e.row.findcontrol("lblprocesssupport");             system.web.ui.webcontrols.label lblprocesstraining = (system.web.ui.webcontrols.label)e.row.findcontrol("lblprocesstraining");             system.web.ui.webcontrols.label lblproduction = (system.web.ui.webcontrols.label)e.row.findcontrol("lblproduction");             system.web.ui.webcontrols.label lblsystemdowntime = (system.web.ui.webcontrols.label)e.row.findcontrol("lblsystemdowntime");             system.web.ui.webcontrols.label lblgrandtotal = (system.web.ui.webcontrols.label)e.row.findcontrol("lblgrandtotal");              //checking weather columns exist in pivot or not              var datarow = (datarowview)e.row.dataitem;             var columnnametocheck = "l & d training%";             var checktraining = datarow.row.table.columns.cast<datacolumn>().any(x => x.columnname.equals(columnnametocheck, stringcomparison.invariantcultureignorecase));             if (checktraining)             {                 // property available                 lblldtraining.text = (databinder.eval(e.row.dataitem, "l & d training%")).tostring();             }             else             {                 lblldtraining.visible = false;             }               var columnnonproduction = "non production%";             var checknonproduction = datarow.row.table.columns.cast<datacolumn>().any(x => x.columnname.equals(columnnonproduction, stringcomparison.invariantcultureignorecase));             if (checknonproduction)             {                 // property available                 lblnonproduction.text = (databinder.eval(e.row.dataitem, "non production%")).tostring();             }             else             {                 lblnonproduction.visible = false;             }              var columnprocesssupport = "process support%";             var checkprocesssupport = datarow.row.table.columns.cast<datacolumn>().any(x => x.columnname.equals(columnprocesssupport, stringcomparison.invariantcultureignorecase));             if (checkprocesssupport)             {                 // property available                 lblprocesssupport.text = (databinder.eval(e.row.dataitem, "process support%")).tostring();             }             else             {                 lblprocesssupport.visible = false;             }              var columnprocesstraining = "process training%";             var checkprocesstraining = datarow.row.table.columns.cast<datacolumn>().any(x => x.columnname.equals(columnprocesstraining, stringcomparison.invariantcultureignorecase));             if (checkprocesstraining)             {                 // property available                 lblprocesstraining.text = (databinder.eval(e.row.dataitem, "process training%")).tostring();             }             else             {                 lblprocesstraining.visible = false;             }              var columnproduction = "production%";             var checkproduction = datarow.row.table.columns.cast<datacolumn>().any(x => x.columnname.equals(columnproduction, stringcomparison.invariantcultureignorecase));             if (checkproduction)             {                 // property available                 lblproduction.text = (databinder.eval(e.row.dataitem, "production%")).tostring();             }             else             {                 lblproduction.visible = false;             }               var columnsystemdowntime = "system downtime%";             var checksystemdowntime = datarow.row.table.columns.cast<datacolumn>().any(x => x.columnname.equals(columnsystemdowntime, stringcomparison.invariantcultureignorecase));             if (checksystemdowntime)             {                 // property available                 lblsystemdowntime.text = (databinder.eval(e.row.dataitem, "system downtime%")).tostring();             }             else             {                 lblsystemdowntime.visible = false;             }              var columngrandtotal = "grand total%";             var checkgrandtotal = datarow.row.table.columns.cast<datacolumn>().any(x => x.columnname.equals(columngrandtotal, stringcomparison.invariantcultureignorecase));             if (checkgrandtotal)             {                 // property available                 lblgrandtotal.text = (databinder.eval(e.row.dataitem, "grand total%")).tostring();             }             else             {                 lblgrandtotal.visible = false;             }                var columnnametocheckroleid = "roleid";             var checkroleid = datarow.row.table.columns.cast<datacolumn>().any(x => x.columnname.equals(columnnametocheckroleid, stringcomparison.invariantcultureignorecase));             if (checkroleid)             {                 // property available                 lblroleno.text = (databinder.eval(e.row.dataitem, "roleid")).tostring();             }             else             {                 lblroleno.visible = false;             }              var columnnametochecksupervisorname = "supervisorname";             var checksupervisorname = datarow.row.table.columns.cast<datacolumn>().any(x => x.columnname.equals(columnnametochecksupervisorname, stringcomparison.invariantcultureignorecase));             if (checksupervisorname)             {                 // property available                 lblsupervisorname.text = (databinder.eval(e.row.dataitem, "supervisorname")).tostring();             }             else             {                 lblsupervisorname.visible = false;             }               var columnnametocheckuserecode = "userecode";             var checkuserecode = datarow.row.table.columns.cast<datacolumn>().any(x => x.columnname.equals(columnnametocheckuserecode, stringcomparison.invariantcultureignorecase));             if (checkuserecode)             {                 // property available                 lbluserecode.text = (databinder.eval(e.row.dataitem, "userecode")).tostring();             }             else             {                 lbluserecode.visible = false;             }              var columnnametocheckusername = "username";             var checkusername = datarow.row.table.columns.cast<datacolumn>().any(x => x.columnname.equals(columnnametocheckusername, stringcomparison.invariantcultureignorecase));             if (checkusername)             {                 // property available                 lblusername.text = (databinder.eval(e.row.dataitem, "username")).tostring();             }             else             {                 lblusername.visible = false;             }              var columnnametocheckdesignation = "designation";             var checkdesignation = datarow.row.table.columns.cast<datacolumn>().any(x => x.columnname.equals(columnnametocheckdesignation, stringcomparison.invariantcultureignorecase));             if (checkdesignation)             {                 // property available                 lbldesignation.text = (databinder.eval(e.row.dataitem, "designation")).tostring();             }             else             {                 lbldesignation.visible = false;             }               //changing color of pivot data              if (convert.toint32(lblroleno.text.tostring()) == 2)             {                 e.row.backcolor = system.drawing.color.greenyellow;             }             if (convert.toint32(lblroleno.text.tostring()) == 3)             {                 e.row.backcolor = system.drawing.color.cyan;             }             if (convert.toint32(lblroleno.text.tostring()) == 4)             {                 e.row.backcolor = system.drawing.color.orange;             }             if (convert.toint32(lblroleno.text.tostring()) == 5)             {                 e.row.backcolor = system.drawing.color.pink;             }               } 

Comments

Popular posts from this blog

php - Why I am getting the Error "Commands out of sync; you can't run this command now" -

linux - Does gcc have any options to add version info in ELF binary file? -

java - Are there any classes that implement javax.persistence.Parameter<T>? -