问题描述
我得到了stucked到一些奇怪的情况,我有一个Ajax工具包TabContainer的内一个gridview。在标签指数的变化我绑定网格。但没有happend。电网没有出现。我有检查以下
- 视图状态
- 格能见度
- 父表的可见性。
- 数据是从方法来
- 标签面板的知名度
连我都调试并添加表检查它的加载页面之前得到空。
请帮我出
**以下是更新code **
< HTML code>
<工具包:的TabPanel的HeaderText =待沙朗ID =tpPendingChallan=服务器HEIGHT =200像素>
<&的ContentTemplate GT;
<表样式=宽度:100%>
&所述; TR>
&所述; TD>
< ASP:GridView控件ID =gvPendingChallans=服务器的AutoGenerateColumns =真的cellpadding =4WIDTH =100%OnPageIndexChanging =gvPendingChallans_PageIndexChanging
OnRowCommand =gvPendingChallans_RowCommandAllowPaging =真的网格线=无>
< / ASP:GridView的>
< / TD>
< / TR>
< /表>
< /&的ContentTemplate GT;
< /工具包:&的TabPanel GT;
< / HTML code>
=============================================== =========================
< C#>
私人无效BindPendingChallans()
{
变种的DAT = JobCardManager.DisplayChallan();
gvPendingChallans.DataSource = DAT;
gvPendingChallans.DataBind();
}
保护无效tcMembers_ActiveTabChanged(对象发件人,EventArgs的发送)
{
如果(tcMembers.ActiveTabIndex == 6)
{
BindPendingChallans();
}
}
< / C#>
对不起,我先回答你的code小姐间pretation。我认为这只是网格视图的一个简单的人口,但作为检讨,我发现你正在使用的Ajax工具包库和网格的标签里面选择。你可以试试这个:
<%@页面语言=C#AutoEventWireup =真codeFILE =Default.aspx.cs继承=_默认%GT;
<%@注册大会=AjaxControlToolkit命名空间=AjaxControlToolkit标签preFIX =工具包%GT;
!< DOCTYPE HTML PUBLIC - // W3C // DTD XHTML 1.0过渡// ENhttp://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">
< HTML的xmlns =http://www.w3.org/1999/xhtml>
<头ID =头像2=服务器>
<标题>无标题页< /标题>
<风格类型=文/ CSS>
.style1
{
FONT-FAMILY:宋体;
颜色:#3399FF;
}
< /风格>
< /头>
<车身类=STYLE1>
<表ID =form1的=服务器>
< ASP:的ScriptManager ID =ScriptManager2=服务器的EnablePageMethods =真/>
< DIV>
< ASP:的UpdatePanel ID =upMember=服务器的UpdateMode =条件>
<&的ContentTemplate GT;
<表格的cellpadding =1= CELLSPACING4BORDER =0WIDTH =100%>
&所述; TR>
&所述; TD>
<工具包:TabContainer的ID =tcMembers=服务器的AutoPostBack =真
ActiveTabIndex =0onactivetabchanged =tcMembers_ActiveTabChanged>
<工具包:的TabPanel的HeaderText =待沙朗ID =tpPendingChallan=服务器
HEIGHT =200像素>
<&的ContentTemplate GT;
< ASP:GridView控件ID =gvPendingChallans=服务器的AutoGenerateColumns =真的cellpadding =4
WIDTH =100%OnPageIndexChanging =gvPendingChallans_PageIndexChangingOnRowCommand =gvPendingChallans_RowCommand
AllowPaging =真的网格线=无>
< / ASP:GridView的>
< /&的ContentTemplate GT;
< /工具包:&的TabPanel GT;
<工具包:的TabPanel的HeaderText =待定2ID =tpPending2=服务器
HEIGHT =200像素>
<&的ContentTemplate GT;
< ASP:GridView控件ID =GridView1=服务器的AutoGenerateColumns =真的cellpadding =4
WIDTH =100%OnPageIndexChanging =gvPendingChallans_PageIndexChangingOnRowCommand =gvPendingChallans_RowCommand
AllowPaging =真的网格线=无>
< / ASP:GridView的>
< /&的ContentTemplate GT;
< /工具包:&的TabPanel GT;
< /工具包:TabContainer的>
< / TD> < TD WIDTH =2%>
&安培; NBSP;
< / TD>
< / TR>
< /表>
< /&的ContentTemplate GT;
< / ASP:的UpdatePanel>
< / DIV>
< /表及GT;
< /身体GT;
< / HTML>
然后在你的code背后:
保护无效的Page_Load(对象发件人,EventArgs的发送)
{
upMember.Update();
}
私人无效BindPendingChallans()
{
//变种的DAT = JobCardManager.DisplayChallan();
//gvPendingChallans.DataSource = DAT; gvPendingChallans.DataBind();
}
保护无效tcMembers_ActiveTabChanged(对象发件人,EventArgs的发送)
{
如果(tcMembers.ActiveTabIndex == 6)
{
BindPendingChallans();
}
}
保护无效gvPendingChallans_PageIndexChanging(对象发件人,GridViewPageEventArgs E){
}
保护无效gvPendingChallans_RowCommand(对象发件人,GridViewCommandEventArgs E){
}
请注意:那你'tcMembers_ActiveTabChanged你有指定标签索引6
选项卡索引从0开始。也许你可以调整它取决于数量
您打算标签....
问候,
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
- Viewstate
- Visibility of grid
- Visibility of the parent table.
- Data is coming from the method
- 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%">
</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,
这篇关于GridView控件不可见,即使捆绑后的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!