开发者

Gridview not visible even after binding

开发者 https://www.devze.com 2023-03-08 04:02 出处:网络
I got stucked to some weird condition where I have a gridview inside a ajax toolkit tabcontainer. On tab index change i am binding grid. But nothing happend. Grid is not appearing. I have check the fo

I got stucked to some weird condition where I have a gridview inside a ajax toolkit tabcontainer. On tab index change i am binding grid. But nothing happend. Grid is not appearing. I have check the following

  1. Viewstate
  2. Visibility of grid
  3. Visibility of the parent table.
  4. Data is com开发者_如何学JAVAing from the method
  5. visibility of the tab panel

Even i have debugged and added watch to check if its getting null before loading the page.

Please help me out

** BELOW IS THE UPDATED CODE**

    <HTMLCode>
     <Toolkit:TabPanel HeaderText="Pending Challans" ID="tpPendingChallan" runat="server" Height="200px" >
     <ContentTemplate>
      <table style="width: 100%">
        <tr>
          <td>
            <asp:GridView ID="gvPendingChallans"  runat="server" AutoGenerateColumns="True"  CellPadding="4" Width="100%"  OnPageIndexChanging="gvPendingChallans_PageIndexChanging" 
        OnRowCommand="gvPendingChallans_RowCommand" AllowPaging="True"  GridLines="None">
            </asp:GridView>
            </td>
          </tr>
         </table>
    </ContentTemplate>
  </Toolkit:TabPanel>
    </HTMLCode>

========================================================================

 <C#>
      private void BindPendingChallans()
            {
                var dat = JobCardManager.DisplayChallan();
                gvPendingChallans.DataSource = dat;
                gvPendingChallans.DataBind();
            }
     protected void tcMembers_ActiveTabChanged(object sender, EventArgs e)
    {
        if(tcMembers.ActiveTabIndex == 6)
        {
            BindPendingChallans();
        }
    }
    </C#>


Sorry for miss interpretation of your code with my first answer. I thought that it just a simple population of grid view, but as review I found that you are using the Ajax Toolkit library and your grid is inside the tab selection. You can try this:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="Toolkit" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head2" runat="server">
    <title>Untitled Page</title>
    <style type="text/css">
        .style1
        {
            font-family: Arial;
            color: #3399FF;
        }
    </style>
</head>
<body class="style1">
    <form id="form1" runat="server">
    <asp:ScriptManager ID="ScriptManager2" runat="server" EnablePageMethods="true" />
    <div>
        <asp:UpdatePanel ID="upMember" runat="server" UpdateMode="Conditional">
            <ContentTemplate>
                <table cellpadding="1" cellspacing="4" border="0" width="100%">
                    <tr>
                        <td>
                            <Toolkit:TabContainer ID="tcMembers" runat="server" AutoPostBack="true" 
                                ActiveTabIndex="0" onactivetabchanged="tcMembers_ActiveTabChanged">
                                <Toolkit:TabPanel HeaderText="Pending Challans" ID="tpPendingChallan" runat="server"
                                    Height="200px">
                                      <ContentTemplate>
                                        <asp:GridView ID="gvPendingChallans" runat="server" AutoGenerateColumns="True" CellPadding="4"
                                            Width="100%" OnPageIndexChanging="gvPendingChallans_PageIndexChanging" OnRowCommand="gvPendingChallans_RowCommand"
                                            AllowPaging="True" GridLines="None">
                                        </asp:GridView>
                                    </ContentTemplate>
                                </Toolkit:TabPanel>
                                 <Toolkit:TabPanel HeaderText="Pending 2" ID="tpPending2" runat="server"
                                    Height="200px">
                                       <ContentTemplate>
                                        <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="True" CellPadding="4"
                                            Width="100%" OnPageIndexChanging="gvPendingChallans_PageIndexChanging" OnRowCommand="gvPendingChallans_RowCommand"
                                            AllowPaging="True" GridLines="None">
                                        </asp:GridView>
                                    </ContentTemplate>
                                </Toolkit:TabPanel>
                            </Toolkit:TabContainer>
                        </td>

                        <td width="2%">
                            &nbsp;
                        </td>
                    </tr>
                </table>
            </ContentTemplate>
        </asp:UpdatePanel>
    </div>
    </form>
</body>
</html>

Then in your code behind:

protected void Page_Load(object sender, EventArgs e)
    {
        upMember.Update();
    }
    private void BindPendingChallans()
    {
        //var dat = JobCardManager.DisplayChallan(); 
        //gvPendingChallans.DataSource = dat; gvPendingChallans.DataBind(); 
    }
    protected void tcMembers_ActiveTabChanged(object sender, EventArgs e)
    {
        if (tcMembers.ActiveTabIndex == 6)
        {
            BindPendingChallans();
        }
    }
    protected void gvPendingChallans_PageIndexChanging(object sender, GridViewPageEventArgs e){
    }
    protected void gvPendingChallans_RowCommand(object sender, GridViewCommandEventArgs e){
    }

Note: That in you 'tcMembers_ActiveTabChanged' you had specify tab index 6 The Tab index begins with 0. Maybe you can adjust it depending the number of you Intended tab....

Regards,

0

精彩评论

暂无评论...
验证码 换一张
取 消