Click here to Skip to main content
15,885,435 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
i have 2 gridview i m binding data to gridview1 by clicking search button which find the record from database and display it into gridview1.I have a link button in gridview 1 i want to show the data related to the row in which link button is in dialog.My problem is dialog is opeaning but the data is not displaying into it.I am giving the code below.

.Aspx page code
ASP.NET
<%@ Page Title="" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>

<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
    <link href="Style/Default.css" rel="stylesheet" />
    <link href="Style/jquery-ui-1.9.2.custom.min.css" rel="stylesheet" />
    <script src="Scripts/jquery-1.8.3.js"></script>

    <link href="Style/Default.css" rel="stylesheet" />
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"> </script>   
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
    <script src="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.9/jquery-ui.js" type="text/javascript"></script>
    <link href="Style/jquery-ui.css" rel="stylesheet" />


    <link rel="stylesheet" type="text/css" href="css/smoothness/jquery-ui.css" />
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.9/jquery-ui.js" type="text/javascript"></script>
<link href="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.9/themes/start/jquery-ui.css"
    rel="stylesheet" type="text/css" />


    <script src="Scripts/jquery-ui-1.9.2.custom.min.js"></script>
    <script src="Scripts/amazingslider.js"></script>
    <script src="Scripts/initslider-1.js"></script>

    <style>
    .btn_styling {
        text-align: center;
        width: 32px;
        margin: 2px;
        cursor: pointer;
        border: 1px solid gray;
        border-radius: 3px; 

       /* add a background image to the div 
          to make the div look like a button */ 
       /* background-image: url('...')  */
    }
    .ui-dialog-titlebar-close {
        display: none;
    }
</style>
    <script type="text/javascript">
        var dialogOptions = {
            autoOpen: false,
            appendTo: "#dialogContainer",
            modal: true,
            height: "auto",
            width: "auto",
            title: "Dialog Title",
            closeOnEscape: true,
            show: { effect: "fold", duration: 4000 },
        };
        $(".ui-widget-overlay").live("click", function () {
            $("div:ui-dialog:visible").dialog("close");
        });
        $(document).on("click", ".dialog-marker", function () {
            var d = $(this).next("div").first().dialog(dialogOptions);
            d.dialog("open");

        });
</script>

    <script type="text/javascript" lang="javascript">
        $(function () {
            $('#<%= Source.ClientID %>,#<%= Destination.ClientID %>').autocomplete({
                source: function (request, response) {
                    $.ajax({
                        url: "StopsService.asmx/GetStopList",
                        data: "{'StopName':'" + request.term + "'}",
                        type: "POST",
                        dataType: "json",
                        contentType: "application/json;charset=utf-8",
                        success: function (data) {
                            response(data.d);
                        },
                        error: function (data) {
                            alert('There is aproblem');
                        }
                    });
                }
            });
        });
    </script>
    <meta http-equiv="content-type" content="text/html;charset=utf-8" />
    <div class="back_img">
        <div class="Container">
            <div style="margin: 20px 36px 0px 0px; width: auto;">
                <div id="amazingslider-1" style="display: block; removed: relative; margin: 16px auto 48px;">
                    <ul class="amazingslider-slides" style="display: none;">
                        <li>
                            <img src="images/1.jpg" alt="Green_Dtc_Bus" /></li>
                        <li>
                            <img src="images/4.jpg" alt="Delhi_Metro" /></li>
                        <li>
                            <img src="images/5.jpg" alt="Delhi_Metro_Inside" /></li>
                        <li>
                            <img src="images/6.jpg" alt="Delhi_Gurgaon_Highway" /></li>
                        <li>
                            <img src="images/7.jpg" alt="Delhi_Road" /></li>
                        <li>
                            <img src="images/8.jpg" alt="Cabs" /></li>
                        <li>
                            <img src="images/Akshardham-temple.jpg" alt="Akshardham" /></li>
                        <li>
                            <img src="images/delhi1.jpg" alt="Red Fort" /></li>
                        <li>
                            <img src="images/LotusTemple.jpg" alt="LotusTemple" /></li>
                        <li>
                            <img src="images/Safdarjung_Tomb,_Delhi.jpg" alt="Safdarjung_Tomb" /></li>
                    </ul>
                    <ul class="amazingslider-thumbnails" style="display: none;">
                        <li>
                            <img src="images/1-tn.jpg" /></li>
                        <li>
                            <img src="images/4-tn.jpg" /></li>
                        <li>
                            <img src="images/5-tn.jpg" /></li>
                        <li>
                            <img src="images/6-tn.jpg" /></li>
                        <li>
                            <img src="images/7-tn.jpg" /></li>
                        <li>
                            <img src="images/8-tn.jpg" /></li>
                        <li>
                            <img src="images/Akshardham-temple-tn.jpg" /></li>
                        <li>
                            <img src="images/delhi1-tn.jpg" /></li>
                        <li>
                            <img src="images/LotusTemple-tn.jpg" /></li>
                        <li>
                            <img src="images/Safdarjung_Tomb,_Delhi-tn.jpg" /></li>
                    </ul>
                </div>
            </div>
            
            <div class="Rt_Src_Container">
                <div class="src_container">
                    <h3 class="h3">Just Enter Your Location</h3>
                    <asp:Label Text="From" runat="server" ForeColor="WhiteSmoke" /><br />
                    <asp:TextBox runat="server" CssClass="textbox_src" ID="Source" /><br />
                    <asp:Label Text="To" runat="server" ForeColor="WhiteSmoke" /><br />
                    <asp:TextBox runat="server" CssClass="textbox_dest" ID="Destination" /><br />

                    <asp:Button Text="Search" runat="server" CssClass="search_btn" ID="search" OnClick="search_Click" /><br />
                    <asp:Label ID="Lblmsg" runat="server" Text="" CssClass="Lblmsg">
                </div>
                <div class="Routes">
                        <asp:GridView ID="GridView1" runat="server" DataKeyNames="BusNo" OnRowDataBound="GridView1_RowDataBound" AutoGenerateColumns="False" CellPadding="7" Width="545px">
                            <columns>
                                <asp:BoundField DataField="BusNo" HeaderText="Bus No" SortExpression="BusNo">
                                    <HeaderStyle BackColor="#006B89" HorizontalAlign="Center" BorderColor="Black" ForeColor="WhiteSmoke" Font-Size="18px" Font-Bold="false"></HeaderStyle>
                                    <itemstyle backcolor="#E0E0E0" />
                                
                                <asp:BoundField DataField="RouteName" HeaderText="Route Name" SortExpression="RouteName" HeaderStyle-BackColor="#006B89">
                                    <HeaderStyle BackColor="#006B89" HorizontalAlign="Center" BorderColor="Black" ForeColor="WhiteSmoke" Font-Size="18px" Font-Bold="false"></HeaderStyle>
                                    <itemstyle backcolor="#E0E0E0" />
                                
                                <asp:TemplateField HeaderText="Info">
                                    <itemtemplate>
                                        <div id="divButton"  runat="server" class="btn_styling dialog-marker" title="This could also have been a <button> element or maybe an <img> element...anything really">X</itemtemplate></columns></div>
                                        <div id="popup">
                                            <asp:GridView ID="GridView2" runat="server"
                                                AutoGenerateColumns="False">
                                                <columns>
                                                    <asp:BoundField DataField="StopName" HeaderText="StopName" SortExpression="StopName" />

                                                </columns>
                                            
                                            
                                        </div>
                                    
                                
                            
                        
                          <div id="dialogContainer">
  </div>
                    </div>


            </div>
            
            </div>       
        
                   
<%--<div class="gridview_stop">
                    <%--<asp:GridView ID="Stops" runat="server" AutoGenerateColumns="False" CellPadding="6" Width="190px">
                        <columns>
                            <asp:BoundField HeaderText="Bus Stop" DataField="StopName" HeaderStyle-BackColor="#006B89">
                                <HeaderStyle BackColor="#006B89" Font-Size="18px" Font-Bold="false"></HeaderStyle>
                                <itemstyle backcolor="#E0E0E0" horizontalalign="Center" />
                            
                        </columns>

                    
                </div>--%>


.CS Page code:
C#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
using System.Data.Sql;
using System.Configuration;
using System.Drawing;

public partial class _Default : System.Web.UI.Page
{
    BusinessLayer ob = new BusinessLayer();
    SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["DBCS"].ToString());

    protected void Page_Load(object sender, EventArgs e)
    {
        if (IsPostBack)
        {

            
        }
        
    }
    protected void search_Click(object sender, EventArgs e)
    {
        DataSet ds = new DataSet();
        SqlDataAdapter adapter = new SqlDataAdapter();
        con.Open();
        SqlCommand cmd = new SqlCommand("spGetRoutes", con);
        cmd.CommandType = System.Data.CommandType.StoredProcedure;
        cmd.Parameters.AddWithValue("@BusStop1", Source.Text);
        cmd.Parameters.AddWithValue("@BusStop2", Destination.Text);
        adapter.SelectCommand = cmd;
        adapter.Fill(ds);
        adapter.Dispose();
        cmd.Dispose();
        con.Close();
        if (ds.Tables[0].Rows.Count > 0)
        {
            GridView1.DataSource = ds.Tables[0];
            GridView1.DataBind();
            //Stops.DataSource = null;
            //Stops.DataBind();
            Lblmsg.Text = "";
        }
        else
            Lblmsg.Text = "No Direct Bus Between These Stop";
        Lblmsg.ForeColor = Color.WhiteSmoke;
        GridView1.Dispose();
        GridView1.DataBind();
        //Stops.Dispose();
        //Stops.DataBind();
    }
  
    public void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {

        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            SqlDataAdapter da = new SqlDataAdapter();
            GridView gv2 = (GridView)e.Row.FindControl("GridView2");
            DataSet ds = new DataSet();
            SqlCommand cmd = new SqlCommand("spGetStops", con);
            cmd.CommandType = System.Data.CommandType.StoredProcedure;
            string No = GridView1.DataKeys[e.Row.RowIndex].Value.ToString();
            int BusNo = Convert.ToInt32(No);
            cmd.Parameters.AddWithValue("@BusNo", BusNo);
            da.SelectCommand = cmd;
            con.Open();
            da.Fill(ds);
            da.Dispose();
            cmd.Dispose();
            con.Close();
            gv2.DataSource = ds;
            gv2.DataBind();
        }
    }  
}
Posted
Updated 2-Jul-15 19:00pm
v3
Comments
manognya kota 3-Jul-15 6:58am    
As per my understanding , you want to display some data on click of link button in the grid.
My suggestion , you can do it in 2 apporaches.
1. use nested gridview.
2. Send the required data on click on the link button and bind the data then.
neeraj773 3-Jul-15 9:17am    
I have used nested gridview in above code but it is not working.Can you modify it for me.

1 solution

Hi,

In your code ,
1.Check if the gridview is getting created properly as I dint find any closing of the nested grid in your below code.
2.Debug your code and check whether the data is being binded properly.

XML
<asp:TemplateField HeaderText="Info">
                                  <itemtemplate>
                                      <div id="divButton"  runat="server" class="btn_styling dialog-marker" title="This could also have been a <button> element or maybe an <img> element...anything really">X</itemtemplate></columns></div>
                                      <div id="popup">
                                          <asp:GridView ID="GridView2" runat="server"
                                              AutoGenerateColumns="False">
                                              <columns>
                                                  <asp:BoundField DataField="StopName" HeaderText="StopName" SortExpression="StopName" />

                                              </columns>


                                      </div>




                        <div id="dialogContainer">
</div>
                  </div>


          </div>

          </div>



Check out the below link if it helps.
http://www.aspsnippets.com/Articles/Nested-GridView-Example-in-ASPNet-using-C-and-VBNet.aspx[^]
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900