Friday, 5 December 2014

Getting database values into checkboxlist in templatefield in gridview

<asp:GridView ID="gvccedetails" runat="server" AutoGenerateColumns="false" CssClass="table">
                        <AlternatingRowStyle CssClass="success" />
                        <HeaderStyle CssClass="warning" />
                        <SelectedRowStyle CssClass="active" />
                        <Columns>
                            <asp:TemplateField>
                                <ItemTemplate>
                                    <asp:LinkButton ID="LinkButton1" Text="Edit" runat="server" CommandArgument="<%# ((GridViewRow) Container).RowIndex %>"
                                        OnCommand="btnSelect_Click" />
                                </ItemTemplate>
                            </asp:TemplateField>                          
                            <asp:BoundField DataField="cceid" HeaderText="CCE ID" />
                            <asp:BoundField DataField="ccename" HeaderText="CCE Name" />
                            <asp:BoundField DataField="ccecontact" HeaderText="CCE Contact" />
                            <asp:BoundField DataField="cceemail" HeaderText="CCE Email" />
                            <asp:BoundField DataField="ccesharedyn" HeaderText="Shared Resources Y/N" />
                            <asp:TemplateField HeaderText="Working Days">
                                <ItemTemplate>
                                    <asp:CheckBoxList ID="cbl_cceworkingDays" RepeatDirection="Horizontal" runat="server"
                                        EnableViewState="true">
                                        <asp:ListItem Text="Mon" Value="Mon"></asp:ListItem>
                                        <asp:ListItem Text="Tue" Value="Tue"></asp:ListItem>
                                        <asp:ListItem Text="Wed" Value="Wed"></asp:ListItem>
                                        <asp:ListItem Text="Thu" Value="Thu"></asp:ListItem>
                                        <asp:ListItem Text="Fri" Value="Fri"></asp:ListItem>
                                        <asp:ListItem Text="Sat" Value="Sat"></asp:ListItem>
                                        <asp:ListItem Text="Sun" Value="Sun"></asp:ListItem>
                                    </asp:CheckBoxList>
                                </ItemTemplate>
                            </asp:TemplateField>
                            <asp:BoundField DataField="ccecentreid" HeaderText="" HeaderStyle-CssClass="hiddenColumn"
                                ItemStyle-CssClass="hiddenColumn" />
                        </Columns>
                    </asp:GridView>







private void fillGrid()
    {
        try
        {
            string[] items = null;

            strSql = " select distinct CCE_ID,CCE_WORKINGDAYS,cce_centreno, em_first_name ||' '|| em_middle_name ||' '|| em_last_name empname," +
                     " EM_EMAIL, to_char( EM_DS_CELL_NO) EM_DS_CELL_NO, EM_EMPCODE,DM_ID,dm_desc " +
                     " from id_cce_details,ID_EMPMST,id_deptmst " +
                     " where cce_centreno='" + hdnCenterID.Value + "' and EM_DEPT_ID = DM_ID and EM_EMPCODE=CCE_ID ";

            if (con.State != ConnectionState.Open) con.Open();
            DataSet ds = cls.Get_DataSet(strSql, con);

            if (ds.Tables[0].Rows.Count > 0)
            {
                for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
                {
                    DataRow[] drs = ds.Tables[0].Select("cce_centreno='" + hdnCenterID.Value + "' and CCE_ID='" + ds.Tables[0].Rows[i]["CCE_ID"].ToString() + "' ");

                    if (drs.Length > 0)
                    {
                        strWorkDays = "";
                        drGrid = dtGrid.NewRow();
                        drGrid["ccecentreid"] = drs[0]["CCE_CENTRENO"].ToString();
                        drGrid["cceid"] = drs[0]["CCE_ID"].ToString();
                        drGrid["ccename"] = drs[0]["empname"].ToString();
                        drGrid["ccecontact"] = drs[0]["EM_DS_CELL_NO"].ToString();
                        drGrid["cceemail"] = drs[0]["EM_EMAIL"].ToString();
                        drGrid["ccedepartment"] = drs[0]["dm_desc"].ToString();
                        for (int j = 0; j < drs.Length; j++)
                        {
                            strWorkDays += drs[j]["CCE_WORKINGDAYS"].ToString() + ",";
                            i++;
                        }
                        drGrid["cceworkingdays"] = strWorkDays;
                        dtGrid.Rows.Add(drGrid);
                    }
                }
                ViewState["dtGrid"] = dtGrid;
                dtGridmodified = dtGrid.DefaultView.ToTable(true);
                gvccedetails.DataSource = dtGridmodified;
                gvccedetails.DataBind();

                for (int j = 0; j < gvccedetails.Rows.Count; j++)
                {
                    CheckBoxList c = (CheckBoxList)gvccedetails.Rows[j].FindControl("cbl_cceworkingDays");
                    if (c != null)
                    {
                        items = null;
                        items = dtGrid.Rows[j]["cceworkingdays"].ToString().Split(',');
                        for (int i = 0; i < c.Items.Count; i++)
                        {
                            if (items.Contains(c.Items[i].Value))
                            {
                                c.Items[i].Selected = true;
                            }
                        }
                    }
                }
            }
            else lblError.Text = "No record found";
        }
        catch (Exception ex)
        {
            lblError.Text = ex.Message;
        }
    }

Monday, 21 July 2014

Generate BarCode in ASP.NET

protected void btnGenerateBarCode_onclick(object sender, EventArgs e) 
 {

 string barcodeDetail =”12345”; 
 GenerateBarCode.CreateBarCode(barcodeDetail, "Free 3 of 9 Extended", 48, "D:\Projects\projectname\ImageFolder\" );
 imgBarcodeImage.ImageUrl = string.Format("ImageFolder/{0}.png", barcodeDetail);

 }


public static void CreateBarCode(string barCodedDetail,stringfontName,int fontSize, string physicalPath) 
 {

 //Find the Width for barcode
 int width = barCodedDetail.Length*35; 

 //create Bitmap object with Width and Height
 Bitmap barCode = new Bitmap(width, 120); 

 //path where you want to save the barcode Image
 string filePath = string.Format("{0}{1}.png", physicalPath, barCodedDetail);

 //create the barcoded font object
 Font barCodeFont = new Font(fontName, fontSize, FontStyle.Regular,GraphicsUnit.Point);

 //creating the graphics object for the Bitmap.
  Graphics graphics = Graphics.FromImage(barCode);

 SizeF sizeF = graphics.MeasureString(barCodedDetail, barCodeFont); 

 barCode = new Bitmap(barCode, sizeF.ToSize()); 

 graphics = Graphics.FromImage(barCode);

 SolidBrush brushBlack = new SolidBrush(Color.Black);

graphics.TextRenderingHint = TextRenderingHint.SingleBitPerPixel;

 //putting * before and after the barCodedDetail,
 //this is because scanner only read the data which is started and end with *
 graphics.DrawString("*" + barCodedDetail + "*", barCodeFont, brushBlack, 1,1); 

 graphics.Dispose(); 
 //Saving the Image file
 barCode.Save(filePath, ImageFormat.Png);
  barCode.Dispose();  
 HttpContext.Current.Response.Clear();

 }

Wednesday, 21 May 2014

how to call wcf service asynchronously from asp.net page

protected void btnSearch_Click(object sender, EventArgs e)
{
PageAsyncTask task = new PageAsyncTask(BeginGetrdgDetailsAsyncData, EndGetrdgDetailsAsyncData, null, null);
            Page.RegisterAsyncTask(task);
}



IAsyncResult BeginGetrdgDetailsAsyncData(object src, EventArgs args, AsyncCallback cb, object state)
    {
        StringBuilder sb = new StringBuilder();
        sb.Append("<SalesAnalysis>");
        -----
-------
        sb.Append("</SalesAnalysis>");
        return pharma.BeginSales_Analysis(sb.ToString(), cb, state);
    }

    void EndGetrdgDetailsAsyncData(IAsyncResult ar)
    {
        try
        {
            String result = pharma.EndSales_Analysis(ar, out strerror);
            if (strerror == "")
            {
                DataSet dsresult = new DataSet();
                dsresult = JsonConvert.DeserializeObject<DataSet>(result);

                DataView dv = new DataView(dsresult.Tables[2]);
                DataTable distinctValues = dv.ToTable(true, "SCHEDULE_ID", "SCHEDULE_NAME");
                for (int i = 0; i < distinctValues.Rows.Count; i++)
                {
                    dsresult.Tables[1].Columns.Add(distinctValues.Rows[i]["SCHEDULE_NAME"].ToString());
                    DataRow[] drs = dsresult.Tables[1].Select("SCHEDULE_ID='" + distinctValues.Rows[i]["SCHEDULE_ID"].ToString() + "'");
                    if (drs.Length > 0)
                    {
                        //foreach (DataRow dr in drs)
                        //{
                        //    //assigning usage col values under dynamically created col "EQ_DESC"
                        //    dr[distinctValues.Rows[i]["SCHEDULE_NAME"].ToString()] = dr["Usage"].ToString();

                        //    //usage += Convert.ToDecimal(dr["Usage"].ToString());
                        //}
                    }
                }

                rdgDetails.DataSource = dsresult.Tables[1];
                rdgDetails.DataBind();
            }
            else
            {
                errormsg
            }
        }
        catch (Exception ex)
        {
         
        }
    }
--------------------------------------------------------------------------------
wcf

public String Sales_Analysis(String strParameter, out string error)
        {
            error = string.Empty;
            XmlDocument pdoc = new XmlDocument();
            pdoc.LoadXml(strParameter);
            DataSet ds = new DataSet();
            methodParameters = strParameter;
            try
            {
                if (dbclass.Connectdb(ConfigurationManager.ConnectionStrings["constr"].ConnectionString))
                {
                    dbclass.cmd = new OracleCommand();
                    dbclass.cmd.CommandText = "Proc Name";
                    dbclass.cmd.CommandType = CommandType.StoredProcedure;
                    #region add parameters
 //IN parameter..

                    //Out parameter..
                   
                    #endregion

                    ds = dbclass.ExecuteCommandDataSet(dbclass.con, dbclass.cmd);

                    if (ds.Tables[1].Rows.Count > 0)
                    {
                        return JsonConvert.SerializeObject(ds, Newtonsoft.Json.Formatting.Indented);
                    }
                    else
                    {
                        return "[]";
                    }
                }
            }
            catch (Exception ex)
            {
                error = ex.Message;
            }
            return JsonConvert.SerializeObject(ds, Newtonsoft.Json.Formatting.Indented);
        }


Monday, 21 October 2013

Export gridview to excel in asp.net

protected void btnExport_Click(object sender, EventArgs e)
{
DataTable dt = new DataTable();
        dt.Columns.Add("Sr No");
        dt.Columns.Add("Qty");
        dt.Columns.Add("Rate");

        foreach (gridviewrow item in gridview.Rows)
        {
           
                DataRow dr = dt.NewRow();
                dr["Sr No"] = item["colOrderSrNo"].Text;
                dr["Qty"] = item["colOrderQty"].Text;
                dr["Rate"] = item["colUnitRate"].Text;
;
                dt.Rows.Add(dr);
        }
        if (dt == null)
        {
            throw new Exception("No record found for export");
        }
        string Path = "D:\\FileName" + DateTime.Now.Day.ToString() + "_" + DateTime.Now.Month.ToString() + ".xls";
        FileInfo FI = new FileInfo(Path);
        if (!FI.Exists)
        {
           
        }
        else
        {
            FI.Delete();
        }
        StringWriter stringWriter = new StringWriter();
        HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWriter);
        DataGrid DataGrd = new DataGrid();
        DataGrd.DataSource = dt;
        DataGrd.DataBind();

        DataGrd.RenderControl(htmlWrite);
        string directory = Path.Substring(0, Path.LastIndexOf("\\"));
        if (!Directory.Exists(directory))
        {
            Directory.CreateDirectory(directory);
        }
        System.IO.StreamWriter vw = new System.IO.StreamWriter(Path, true);
        stringWriter.ToString().Normalize();
        vw.Write(stringWriter.ToString());
        vw.Flush();
        vw.Close();
        WriteAttachment(FI.Name, "application/vnd.ms-excel", stringWriter.ToString());


}




 public static void WriteAttachment(string FileName, string FileType, string content)
    {
        try
        {
            HttpResponse Response = System.Web.HttpContext.Current.Response;
            Response.ClearHeaders();
            Response.AppendHeader("Content-Disposition", "attachment; filename=" + FileName);
            Response.ContentType = FileType;
            Response.Write(content);
            Response.End();
        }
        catch (Exception ex)
        {

        }
    }

Saturday, 19 October 2013

get row index and data column associated with row index

GridDataItem rows = (GridDataItem)(((ImageButton)e.CommandSource).NamingContainer);
                int varName1 = Convert.ToInt32(((Label)rows.FindControl("lblSRNO")).Text.ToString());

Monday, 14 October 2013

query string example

"../Radiology/EMR.aspx?&dReqId=" + Session[SessionVariable.ot_Req_no].ToString() + "&dVmId=" + Session[HMISWEB.SessionVariable.vmid].ToString() + "&strVisitType=" + Session[SessionVariable.OT_Visit_Type].ToString() + "&strModify_YN=N" + "&strDeptTemplateType=S" + "&dDocId=0" + "&strAccessString=Y";

Serial Number For grid view

<telerik:GridTemplateColumn UniqueName="SRNO" AllowFiltering="false" HeaderText="Sr No">
                                                            <ItemTemplate>
                                                               <asp:Label ID="lblSRNO" runat="server" ></asp:Label>
                                                            </ItemTemplate>
                                                            <HeaderStyle Width="5%" />
                                                            <ItemStyle Width="5%" />
                                                        </telerik:GridTemplateColumn>




protected void rdgAddedItems_ItemDataBound(object sender, Telerik.Web.UI.GridItemEventArgs e)
    {
        if (e.Item is GridDataItem)
        {
            Label lbl = e.Item.FindControl("lblSRNO") as Label;
            lbl.Text = (e.Item.ItemIndex + 1).ToString();
        }
    }