Wednesday, 17 April 2013

Generating the Graphs in Asp.net

In desing page

// put one literal 

<asp:Literal ID="TATLiteral1" runat="server"></asp:Literal>


In Code Behind


        string sql = "", sql1 = "", sql2 = "", sql3="";
        string condition = "";
        string strXML, strCategories1 ;
        DataTable fdt = null;
        DataTable fdt1 = null;
        DataTable fdt3 = null;
        OracleCommand cmd = null;
        OracleDataAdapter da = null;


       /// genarate the data for your graph

            sql = " Your Query to get data";
            fdt1 = new DataTable();
            cmd = new OracleCommand(sql, conn);
            da = new OracleDataAdapter(cmd);
            da.Fill(fdt1);


     // after getting data put it in the XML format as below

  //  header tag for graph
   
         strXML1 = "<graph  rotateNames='0' animation='1'  numdivlines='4'  baseFont='Arial' baseFontSize='10' baseFontColor='000000' useRoundEdges='1' showLegend='0' bgColor='ffffff' borderColor='ffffff' showYAxisValues='0'>";


   // categories

  strCategories1 = "<categories> <category name='0-2 Hrs' /> <category name='>2 Hrs' /></categories>";

                strXML1 += strCategories1;
// dataset you are providing

                strXML1 += " <dataset seriesName='"+fdt3.Rows[0]["HOSPNAME"]+"' color='8B0000'   showValues='1'>";
                strXML1 += "<set   value='" + fdt1.Rows[0]["Total"].ToString() + "' />";
                strXML1 += "<set   value='" + fdt1.Rows[1]["Total"].ToString() + "' />";
                strXML1 += " </dataset>";

                strXML1 += " <dataset seriesName='"+fdt3.Rows[1]["HOSPNAME"]+"' color='2F4F4F' showValues='1'>";
                strXML1 += "<set   value='" + fdt1.Rows[2]["Total"].ToString() + "' />";
                strXML1 += "<set   value='" + fdt1.Rows[3]["Total"].ToString() + "' />";
                strXML1 += " </dataset>";


                strXML1 += " <dataset seriesName='" + fdt3.Rows[2]["HOSPNAME"] + "' color='20B2AA' showValues='1'>";
                strXML1 += "<set  value='" + fdt1.Rows[4]["Total"].ToString() + "' />";
                strXML1 += "<set  value='" + fdt1.Rows[5]["Total"].ToString() + "' />";
                strXML1 += " </dataset>";
               

                strXML1 += "</graph>";

// binding to literal 

                TATLiteral1.Text = FusionCharts.RenderChartHTML("../ChartsLicense/MSColumn2D.swf", "", strXML1, "Preauthinfo", "350", "170", false);




NOTE : Graph is also depends on the swf files which we provide  like BAR, COLUMN , LINE , STACKED (here m using Multi series column graph)  So download all the swf files from  fusioncharts.com ( refer it for more info for graphs)



Calling the loading images using javascript (processing image)


In head  

//Use this javascript

  <script type="text/javascript">

  function hideLoading()
        {
              document.getElementById('divLoading').style.display = "none";
              document.getElementById('divFrameHolder').style.display = "block";
              document.getElementById('div4').style.display = "none";
              document.getElementById('div2').style.display = "block";
              document.getElementById('div5').style.display = "none";
              document.getElementById('div3').style.display = "block";
        }
     </script>


In form

// call javascript function in iframe tag


 <table style="width:830px;height:480px;font-family:Arial;" bgcolor="white" align="center">
                <tr style="height:8px">
                <td align="center" style="font-weight:bold;font-size:12px;">
                <asp:Label ID="chart4" runat="server" ></asp:Label>
                </td>
                <td align="center" style="font-weight:bold;font-size:12px;">
                <asp:Label ID="chart5" runat="server" ></asp:Label>
                </td>
                </tr>
                <tr style="height:200px">
                <td colspan="2" valign="top" align="center">
                  <div id="divLoading" style="align:center;">
                    <img src="../images/loading45.gif" alt="" width="150px" height="150px" />
                  </div> 
                  <div id="divFrameHolder" style="display:none">  
                <iframe src="smartmisframeaging.aspx" onload="hideLoading()" frameborder="0" scrolling="no" width="100%" height="230"></iframe>
                 </div> 
                </td>
                </tr>
                <tr style="height: 8px">
                <td align="center" style="font-weight:bold;font-size:12px;">
                 <asp:Label ID="chrt1" runat="server"></asp:Label>
                </td>
                <td align="left" style="font-weight:bold;font-size:12px;padding-left:40px;">
                  <asp:Label ID="chrt2" runat="server"></asp:Label>
                  <asp:Label ID="chrt3" runat="server"></asp:Label>
                </td>

                </tr>
                <tr align="left">
                <td  style="width:215px;padding-left:0px;" valign="top" align="center">
                 <div id="div4" style="align:center;">
                    <img src="../images/loading45.gif" alt="" width="150px" height="150px" />
                 </div> 
                <div id="div2" style="display:none">  
                 <iframe id="preauth" src="smartmisframepreauth.aspx"  onload="hideLoading()"      frameborder="0" scrolling="no" width="100%" height="300px"></iframe>
                </div>
                </td>
                <td valign="top" align="center">
                 <div id="div5" style="align:center;">
                    <img src="../images/loading45.gif" alt="" width="150px" height="150px" />
                  </div> 
                 <div id="div3" style="display:none">  
                  <iframe src="smartMISframehrs.aspx"  onload="hideLoading()" frameborder="0" scrolling="no" width="100%" height="300px" marginwidth="0"></iframe>
                 </div> 
                </td>
                </tr>
                </table>






Friday, 8 February 2013

Getting the nested gridview values when it is inside the content placeholder in javascript


function  Rdbtn(index)
{
   var gridView1 = document.getElementById('ctl00_ContentPlaceHolder1_GVBenefit');
 
   var billamt=0;
   var billamt_tot=0; 
   var input4 =  gridView1.rows[index - 1].getElementsByTagName('input')[6]; 
   var idExt=index;  
    for (var i = 1; i < gridView1.rows.length; i++)
    {
          if(parseInt(idExt,10) <= 9)
          {
           idExt = "0" + idExt;                     
          }  

            var VExtGrid = "ctl00_ContentPlaceHolder1_GVBenefit_ctl"+idExt;              
            var gridView = document.getElementById(VExtGrid+"_GvSubBenfits");       
             for (var j = 1; j < gridView.rows.length; j++)
             {  
                   var inputs1 = gridView.rows[j].getElementsByTagName('input')[0];
                   var inputs2 = gridView.rows[j].getElementsByTagName('input')[1];
                   var txtAdm = gridView.rows[j].getElementsByTagName('input')[2];

                   if( inputs1.checked==true )
                   {
                    txtAdm.setAttribute("disabled", false);       
                   }
                    if( inputs2.checked==true )
                   {
                    txtAdm.setAttribute("disabled", true);       
                   }
                 
                   if (txtAdm.value.length<1)
                   {
                     billamt=0;
                   }
                   else
                   {
                     billamt =parseFloat(txtAdm.value);
                   }
             
                billamt_tot = billamt_tot + billamt;
              
                input4.value = billamt_tot;
             }
             GetAppAmt();
      }   
  
}

Monday, 12 November 2012

finding the values inside the nested gridview Using Javascript / (using rowindex to find the nested gridview)/ (finding the selected rowindex of gridview on mouse click on the gridview row)



In Design Page

<script language="javascript" type ="text/javascript" >

//get the row index and client id ,cell value
function showClickPage(rowid,id,selectedid)
{
 
var billamt=0;
var admissibleamt=0;
var nonadmissibleamt=0;
var billamt_tot=0;
var admissibleamt_tot=0;
var nonadmissibleamt_tot=0;
 var gridView1 = document.getElementById('<%=GVBillDetails.ClientID %>');
 var idExt=rowid ;
     if(parseInt(idExt,10) <= 9)
     {
         idExt = "0" + idExt ;               
     }           
     var VExtGrid = "GVBillDetails_ctl"+idExt;       
     var gridView = document.getElementById(VExtGrid+"_GVBillDetails1");
     for (var i = 1; i < gridView.rows.length - 1; i++)
     {
        var inputs1 = gridView.rows[i].getElementsByTagName('input')[0];
          if (inputs1.value.length<1)
          {
           nonadmissibleamt=0;
          }
         else
          {
           nonadmissibleamt =parseFloat(inputs1.value);
          }
       nonadmissibleamt_tot = nonadmissibleamt_tot +   nonadmissibleamt;
     }
      gridView.rows[gridView.rows.length - 1].getElementsByTagName('input')[0].value = nonadmissibleamt_tot;
      for (var i = 1; i < gridView.rows.length - 1; i++)
     {
        var inputs2 = gridView.rows[i].getElementsByTagName('input')[1];
          
          if (inputs1.value.length<1)
          {
           admissibleamt=0;
          }
         else
          {
           admissibleamt =parseFloat(inputs2.value);
          }
       admissibleamt_tot = admissibleamt_tot +   admissibleamt;
     }
      gridView.rows[gridView.rows.length - 1].getElementsByTagName('input')[1].value = admissibleamt_tot;  
}
</script>


in code behind:


 protected void GvBilldeatails_OnRowCreated(object sender, GridViewRowEventArgs e)
    {
       /// Gridview index will starts with  -1 so we are adding 2 to the current index here
       /// call the javscript function with 3 parameters as we are passing here



        int index = e.Row.RowIndex + 2;

        e.Row.Attributes.Add("onclick", "showClickPage('" + index + "','" + e.Row.ClientID + "','" + e.Row.Cells[0].Text + "');");

    }

-------------------------


or another method


You can attach an mouse over event handler to the rows of the grid in the OnRowDataBound event handler:

C#:
protected void OnGridRowDataBound(object sender, GridRowEventArgs args)
{
        args.Row.Attributes["onmouseover"] = "handleMouseOver(" + args.Row.RowIndex.ToString() + ")";
        ...
}

JavaScript:
<script type="text/javascript">
        function handleMouseOver(rowIndex) {
                alert('mouse over: ' + rowIndex);
        }

///after finding rowindex here same as above javscript we need to fallow

</script>

Tuesday, 16 October 2012

Instead of default button click on page load, we can call any other particular button click

Instead of default button click on page load, we can call any other particular button click

In design page:

<script language="javascript" type="text/javascript"> 
 
        function clickButton(e, buttonid){  
 
          var evt = e ? e : window.event; 
 
          var bt = document.getElementById(
buttonid); 
 
          if (bt){  
 
              if (evt.keyCode == 13){  
 
                    bt.click();  
 
                    return false;  
 
              }  
 
          }  
 
        } 
 
    </script>


in Code behind:
    

    if (!IsPostBack)
         {
           
                 Textsearch.Attributes.Add("onkeypress", "return clickButton(event,'" + Btnsearch.ClientID + "')"); 
          
         }


Here after any keypress in the text seach box it will take to the search button click instead of default button
 
--------------------------------------------------------------------------
or
 
In form tag only we can set the Default focus and default button for a form as below
 
   <form id="form1" runat="server" defaultfocus="Textsearch" defaultbutton="Btnsearch">
 
 It will take given controls on page load...
 
 
 

Sunday, 23 September 2012

Converting string to date format in C#



                                LBLDate.Text = authorizationInfo["authorizedtime1"].ToString();

                                string date1 = LBLDate.Text.ToString();

                                DateTime date = DateTime.Parse(date1);

                                string newdate = string.Format("{0:dddd ,MMM dd ,yyyy}", date);

                                LBLDate.Text = newdate.ToString();


    

Output:  
   
     Friday ,Sep 21 ,2012

Wednesday, 25 July 2012

How to select values from a datatable based on the condition

// here 'm datatable from cache which is already stored, u can careate ur own datatable  
              
               string district = e.Row.Cells[0].Text.ToString();

                string cachekey = "PPNPreauthDistrictMIS_" + Session.SessionID;
                DataTable NewGdt = (DataTable)HttpRuntime.Cache[cachekey];

                DataRow[] rows = NewGdt.Select("DISTRICT = '" + district + "'");


                 dt = new DataTable();
                dt.Columns.Add("SL No");
                dt.Columns.Add("DISTRICT");
                dt.Columns.Add("PKG_CATEGORY");
                dt.Columns.Add("CASES");
                dt.Columns.Add("AMT");
                dt.Columns.Add("TOTALAPPAMOUNT");

                foreach (DataRow dr in rows)
                {

                    object[] row = dr.ItemArray;

                    dt.Rows.Add(row);

                    casesum = casesum + Convert.ToInt32(dr["CASES"]);
                    pratesum = pratesum + Convert.ToInt32(dr["AMT"]);
                    appamtsum = appamtsum + Convert.ToInt32(dr["TOTALAPPAMOUNT"]);
                }

                DataRow newrow = dt.NewRow();

                newrow["PKG_CATEGORY"] = "Total";
                newrow["CASES"] = casesum.ToString();
                newrow["AMT"] = pratesum.ToString();
                newrow["TOTALAPPAMOUNT"] = appamtsum.ToString();
                dt.Rows.Add(newrow);
                ChildGridview.DataSource = dt;
                ChildGridview.DataBind();
                int count = ChildGridview.Rows.Count;
                ChildGridview.Rows[count - 1].Font.Bold = true;