嵌套的Gridview数据在点击父gridview的链接按钮时没有绑定 [英] Nested Gridview Data is not getting bind on click of linkbutton of parent gridview

查看:70
本文介绍了嵌套的Gridview数据在点击父gridview的链接按钮时没有绑定的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个Gridview,其中Link按钮在点击链接按钮时应该打开该特定行的嵌套gridview,其中包含edititem模板,输入详细信息后我应该可以将详细信息保存在数据库中。 />
这是我的代码。但是点击链接按钮,嵌套的gridview没有绑定





Aspx页面编码








I have one Gridview in which Link button is there on click of linkbutton it should open the nested gridview for that particular row with edititem Template in it and after entering the details i should be able to save the details in database.
Here is my code.But on Click of linkbutton the nested gridview is not getting binded


Aspx page coding




<asp:GridView ID="grdOrderDetails" runat="server" OnRowCommand="grdOrderDetails_RowCommand" OnRowDataBound="grdOrderDetails_RowDataBound"

             OnPageIndexChanging="grdOrderDetails_PageIndexChanging" AllowPaging="true" AutoGenerateColumns="false" DataKeyNames="OrderId">
    <Columns>
        <asp:TemplateField HeaderText="OrderID" Visible="false">
            <ItemTemplate>
                <asp:Label ID="lblOrderId" runat="server" Text='<%# Eval("OrderId") %>'></asp:Label>
                <asp:Panel ID="Panel1" runat="server" >
                    <asp:GridView ID="grdDispatch" runat="server" AutoGenerateColumns="false" AllowPaging="true" OnRowEditing="grdDispatch_Editing">
                        <Columns>
                        <asp:BoundField DataField="OrderId" HeaderText="Order Id" />
                            <asp:BoundField DataField="ClientName" HeaderText="Client Name" />
                            <asp:BoundField DataField="LocName" HeaderText="Location Name" />
                            <asp:BoundField DataField="Quantity" HeaderText="Quantity" />
                            <asp:TemplateField HeaderText="Dispatch Qty">
                               <EditItemTemplate>
                                    <asp:TextBox ID="txtDispatchQty" runat="server" OnTextChanged="txtDispatch_TextChanged"></asp:TextBox>
                               </EditItemTemplate>
                            </asp:TemplateField>
                            <asp:TemplateField HeaderText="Balance Qty">
                                <EditItemTemplate>
                                    <asp:Label ID="txtBalanceQty" runat="server"></asp:Label>
                                </EditItemTemplate>
                            </asp:TemplateField>
                            <asp:TemplateField HeaderText="Dispatch Date">
                                <EditItemTemplate>
                                    <asp:TextBox ID="txtDispatchDate" runat="server" CssClass="datePickerTextBox"></asp:TextBox>
                                </EditItemTemplate>
                            </asp:TemplateField>
                            <asp:TemplateField HeaderText="Delivery Type">
                                <EditItemTemplate>
                                    <asp:DropDownList ID="ddlDeliveryType" runat="server" OnSelectedIndexChanged="ddlDeliveryType_SelectedIndexChanged">
                                        <asp:ListItem Text="--Select--" Value="0"></asp:ListItem>
                                        <asp:ListItem Text="Hand Delivery" Value="1"></asp:ListItem>
                                        <asp:ListItem Text="Courier" Value="2"></asp:ListItem>
                                    </asp:DropDownList>
                                </EditItemTemplate>
                            </asp:TemplateField>
                            <asp:TemplateField HeaderText="Courier Name">
                                <EditItemTemplate>
                                    <asp:DropDownList ID="ddlCourier" runat="server"></asp:DropDownList>
                                </EditItemTemplate>
                            </asp:TemplateField>
                            <asp:TemplateField HeaderText="Courier Receipt No.">
                                <EditItemTemplate>
                                    <asp:TextBox ID="txtCourierNo" runat="server"></asp:TextBox>
                                </EditItemTemplate>
                            </asp:TemplateField>
                            <asp:TemplateField HeaderText="Dipatch">
                                <ItemTemplate>
                                    <asp:Button ID="btnUpdate" runat="server" Text="Dispatch" OnClick="btnUpdate_Click" />
                                </ItemTemplate>
                            </asp:TemplateField>
                            <asp:TemplateField HeaderText="Cancel">
                                <ItemTemplate>
                                    <asp:Button ID="btnCancel" runat="server" Text="Cancel" OnClick="btnCancelUpt_Click" />
                                </ItemTemplate>
                            </asp:TemplateField>
                        </Columns>
                    </asp:GridView>
                </asp:Panel>
            </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField HeaderText="Sr No.">
            <ItemTemplate>
                <asp:Label ID="lblSrNo" runat="server"><%# Container.DataItemIndex + 1 %></asp:Label>
            </ItemTemplate>
        </asp:TemplateField>
        <asp:BoundField DataField="ClientName" HeaderText="Client Name" />
        <asp:BoundField DataField="LocName" HeaderText="Location Name" />
        <asp:BoundField DataField="AddressName" HeaderText="Address Name" />
        <asp:BoundField DataField="UserName" HeaderText="User Name" />
        <asp:BoundField DataField="Order_Date" HeaderText="Order Date" DataFormatString="{0:dd/MM/yyyy}" />
        <asp:BoundField DataField="BrandName" HeaderText="BrandName" />
        <asp:BoundField DataField="ProductName" HeaderText="Product Name" />
        <asp:BoundField DataField="Quantity" HeaderText="Order Quantity" />
        <asp:BoundField DataField="BalanceQty" HeaderText="Balance Quantity" />
        <asp:TemplateField HeaderText="Edit Order">
            <ItemTemplate>
                <a href="java<!-- no -->script:doit()" id="btnEdit" runat="server" >Edit</a>
            </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField HeaderText="Dispatch Order">
            <ItemTemplate>
                <asp:LinkButton ID="lnkDispatch" runat="server" Text="Dispatch" CommandName="Dispatch" CommandArgument='<%# Eval("OrderId") %>' ></asp:LinkButton>
            </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField HeaderText="Cancel Order">
            <ItemTemplate>
                <asp:LinkButton ID="btnCancel" runat="server" Text="Cancel" OnClientClick="return confirm('Are you sure you want to cancel this order?')" CommandName="cDelete" CommandArgument='<%#Eval("OrderId") %>'></asp:LinkButton>
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>



C# Code


C# Code

private void BindOrderGrid()
    {
        SqlConnection conn = ApplicationInfo.GetConnection();
        try
        {
            DataTable dt = DashBoardManger.BindAllOrder(conn).Tables[0];
            if (dt.Rows.Count > 0)
            {
                grdOrderDetails.DataSource = dt;
                grdOrderDetails.DataBind();
            }
        }
        catch (Exception ex)
        {
            lblMessage.Text = ex.Message;
        }
        finally
        {
            conn.Close();
            conn.Dispose();
        }
    }
 protected void grdOrderDetails_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        SqlConnection conn = ApplicationInfo.GetConnection();
        if (e.CommandName == "cDelete")
        {
            lblMessage.Text = "";
            Delete_OrderById(Convert.ToInt64(e.CommandArgument.ToString().Trim()));
            BindOrderGrid();
        }
       
    }

 protected void grdOrderDetails_RowDataBound(object sender, GridViewRowEventArgs e)
    
    {
        SqlConnection conn = ApplicationInfo.GetConnection();
        if (e.Row.RowIndex != -1)
        {
            string bintOrderId = ((Label)e.Row.FindControl("lblOrderId")).Text.Trim();
            HtmlAnchor Anchor = (HtmlAnchor)e.Row.FindControl("btnEdit");
            Anchor.Attributes.Add("onclick", "GB_show('Order Details','/CMSAdmin/frmSalesOrder.aspx?OId=" + bintOrderId + "&OP=0',600,600,'')");
        }
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            string OrderId = grdOrderDetails.DataKeys[e.Row.RowIndex].Value.ToString();
            GridView grdDispatch = e.Row.FindControl("grdDispatch") as GridView;
            DataSet ds = DashBoardManger.Bind_Data_ByOrderId(conn, Convert.ToInt64(OrderId));
            grdDispatch.DataSource = ds;
            grdDispatch.DataBind();
        }
}





<script type=\"text/javascript\" src=\"http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js\"></script>

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

$(document).ready(function () {

$(\"[id*=lnkDispatch]\").click(function (e) {

$(this).closest(\"tr\").after(\"\" + $(this).next().html() + \"\")

//$(this).attr(\"src\", \"images/minus.png\");

return false;

});

$(\"[id*=lnkDispatch]\").click(function (e) {

$(this).closest(\"tr\").next().remove();

});

});



</script>



<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function () {
$("[id*=lnkDispatch]").click(function (e) {
$(this).closest("tr").after("" + $(this).next().html() + "")
//$(this).attr("src", "images/minus.png");
return false;
});
$("[id*=lnkDispatch]").click(function (e) {
$(this).closest("tr").next().remove();
});
});

</script>

推荐答案

(document).ready(function () {
(document).ready(function () {


(\"[id*=lnkDispatch]\").click(function (e) {
("[id*=lnkDispatch]").click(function (e) {


(this).closest(\"tr\").after(\"\" +
(this).closest("tr").after("" +


这篇关于嵌套的Gridview数据在点击父gridview的链接按钮时没有绑定的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆