Search This Blog

Sunday, August 3, 2014

Gridview with Hyperlink sample code

In .aspx file:

<asp:GridView ID="gvProducts" runat="server" AutoGenerateColumns="false">
    <AlternatingRowStyle BackColor="green" />
    <Columns>
      <asp:HyperLinkField HeaderText="Name" DataTextField="PName"
         DataNavigateUrlFields="pname"
       DataNavigateUrlFormatString="Sales.aspx?pname={0}" />
      <asp:BoundField HeaderText="MinQty" DataField="MinOrdQty" />
      <asp:BoundField HeaderText="MaxQty" DataField="MaxOrdQty" />
      <asp:BoundField HeaderText="UnitPrice" DataField="UnitPrice" />
    </Columns>
    </asp:GridView>

In .aspx.cs file:

protected void Page_Load(object sender, EventArgs e)
    {
        string strcn = "Data source=name-of-sql-server;initial catalog=database-name;integrated security=sspi";
        SqlConnection cn = new SqlConnection(strcn);
        SqlCommand cmd = new SqlCommand("select pname,minordqty,MaxOrdQty,UnitPrice from dbo.products", cn);
        try
        {
            cn.Open();
            DataSet ds = new DataSet();
            SqlDataAdapter DA = new SqlDataAdapter(cmd);
            DA.Fill(ds);
            DataTable dt = ds.Tables[0];
            //Session["ds"] = ds;
            gvProducts.DataSource = dt;
            gvProducts.DataBind();

        }
        catch (SqlException ex)
        {

        }
        finally
        {
            cn.Close();
        }
    }
In Details page (Sales.aspx) :
<asp:GridView ID="gvSales" runat="server"></asp:GridView>

In Sales.aspx.cs:

protected void Page_Load(object sender, EventArgs e)
    {
        if (Request.QueryString["pname"] != null)
        {
            string productName = Request.QueryString["pname"].ToString();
            if (productName != null && productName != string.Empty)
                DisplaySalesDetails(productName);
        }
    }
    private void DisplaySalesDetails(string pname)
    {
        string strcn = "Data source=ADMIN-PC\\SQLEXPRESS;initial catalog=adomaterial;integrated security=sspi";
        SqlConnection cn = new SqlConnection(strcn);
        string qry=@"select * from dbo.sales where pid in(select pid from products
        where pname='";
        qry+=pname+"');";
        SqlCommand cmd = new SqlCommand(qry,cn);
        try
        {
            cn.Open();
            DataSet ds = new DataSet();
            SqlDataAdapter DA = new SqlDataAdapter(cmd);
            DA.Fill(ds);
            Session["ds"] = ds;
            gvSales.DataSource = ds;
            gvSales.DataBind();

        }
        catch (SqlException ex)
        {

        }
        finally
        {
            cn.Close();
        }
    }
Table structure:
Products table:
PidPNameMidMinOrdQtyMaxOrdQtyActiveUnitPrice
1colgate15050065
2DoveSoap1100100025
3DoveShampoo150500150
4ParachuteOil2205080
5RinSoap25050015
6SurfExcel15050055
7VIM21010015
8EXO31015035
9Medimix32515025
10Pears41020026
11NoteBook45127048
12Cinthol2030023
13fiama42020067
Sales table:
SidQtyOriginalPriceTotalPriceDiscountActiveSaleDatePid
1101350120015023-Dec-11 12:00:00 AM3
2252000180020021-Aug-11 12:00:00 AM4
3201300100030013-Jun-10 12:00:00 AM1
41505500490060023-Dec-09 12:00:00 AM6
5501300110020002-Jun-08 12:00:00 AM10
6153753502501-Feb-12 12:00:00 AM2
7253375310027502-Feb-11 12:00:00 AM3
82003000250050007-Oct-10 12:00:00 AM5
91503300320010029-Jul-11 12:00:00 AM9
101003500320030015-Nov-10 12:00:00 AM8
11105505005002-Feb-11 12:00:00 AM6
12501100100010011-Aug-09 12:00:00 AM9
1380120095025023-Dec-10 12:00:00 AM7
14100250090040020-Oct-11 12:00:00 AM9
151201600150010003-Oct-12 12:00:00 AM7