FineUI 官方论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

本论坛已关闭(禁止注册、发帖和回复)
请移步 三石和他的朋友们

FineUI首页 WebForms - MVC & Core - JavaScript 常见问题 - QQ群 - 十周年征文活动

FineUI(开源版) 下载源代码 - 下载空项目 - 获取ExtJS - 文档 在线示例 - 版本更新 - 捐赠作者 - 教程

升级到 ASP.NET Core 3.1,快、快、快! 全新ASP.NET Core,比WebForms还简单! 欢迎加入【三石和他的朋友们】(基础版下载)

搜索
查看: 6181|回复: 5
打印 上一主题 下一主题

【已确认】Grid官方示例BUG,有链接,有图,望能修复

[复制链接]
跳转到指定楼层
楼主
发表于 2014-9-6 17:25:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
反馈BUG
程序版本: FineUI v4.1.2
浏览器: 其它(请在帖子中注明浏览器及版本) 
BUG截图:
BUG地址: http://www.fineui.com/demo/#/demo/grid/grid_pageitems_pagesize_database.aspx
版本FineUI v4.1.2

BUG描述,浏览器IE11,IE10,谷歌浏览器均会错误。
1.点击重新绑定数据,直接报JS错误
地址:http://www.fineui.com/demo/#/demo/grid/grid_pageitems.aspx
2.修改每页记录数,直接报JS错误
http://www.fineui.com/demo/#/dem ... items_pagesize.aspx
3.修改每页记录数,直接报JS错误
http://www.fineui.com/demo/#/dem ... esize_database.aspx

问题如何发现?,和我的疑问:
我在开发时在给PageLoad事件给GRID设置一个初始的PageSize大小,页面打开以后,我通过DropDownList修改这个PageSize的时候会出现错误(当选择的每页显示数量大于总记录数时会报错,小于则不会。),然后我就来官方看“在线示例”,结果也发现了错误,但是和我错误不一样。希望三石先生可以修复一下。

代码如下:
aspx

  1. <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="AgentList.aspx.cs" Inherits="HBHSYS.UI.Agent.AgentList" %>

  2. <!DOCTYPE html>

  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <head runat="server">
  5.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  6.     <title></title>

  7. </head>
  8. <body>
  9.     <form id="form1" runat="server">
  10.         <f:PageManager ID="PageManager1" AutoSizePanelID="Panel1" runat="server" />
  11.         <f:Panel ID="Panel1" Layout="Fit" BoxConfigAlign="Stretch" BoxConfigPosition="Start" ShowBorder="true" ShowHeader="false" Title="待审核加盟商"
  12.             runat="server">
  13.             <Toolbars>
  14.                 <f:Toolbar ID="toolBar" runat="server">
  15.                     <Items>
  16.                         <f:TextBox ID="txtUserName" ShowLabel="true" Label="公司名称" MaxLength="50" LabelWidth="70px" CssClass="marginr" runat="server">
  17.                         </f:TextBox>
  18.                         <f:TextBox ID="txtContactName" ShowLabel="true" Label="联系人" MaxLength="50" LabelWidth="70px" CssClass="marginr" runat="server">
  19.                         </f:TextBox>
  20.                         <f:TextBox ID="txtPhone" ShowLabel="true" Label="公司电话" MaxLength="50" LabelWidth="70px" CssClass="marginr" runat="server">
  21.                         </f:TextBox>
  22.                         <f:Button ID="btnSearch" runat="server" Text="查询" Icon="Magnifier"></f:Button>
  23.                         <f:Button ID="Button1" runat="server" Text="查询" Icon="Magnifier"></f:Button>
  24.                     </Items>
  25.                 </f:Toolbar>
  26.             </Toolbars>
  27.             <Items>
  28.                 <f:Grid ID="Grid1" ShowBorder="false" ShowHeader="false" CssStyle="border-top:1px solid #157fcc;"
  29.                     AllowPaging="true" runat="server" EnableCheckBoxSelect="false" ForceFit="true"
  30.                     EnableTextSelection="true" PageSize="10"
  31.                     DataKeyNames="AgentID" IsDatabasePaging="true">
  32.                     <Columns>
  33.                         <f:BoundField DataField="AgentName" HeaderText="公司名称" />
  34.                         <f:BoundField DataField="BossName" HeaderText="法人姓名" />
  35.                         <f:BoundField DataField="BossContact" HeaderText="法人联系方式" />
  36.                         <f:BoundField DataField="CooperationType" HeaderText="合作类型" />
  37.                         <f:BoundField DataField="CautionMoney" HeaderText="保证金" DataFormatString="¥{0:F}" />
  38.                         <f:TemplateField HeaderText=" 操 作 " Width="60">
  39.                             <ItemTemplate>
  40.                                 <f:HiddenField Text='<%#Eval("AgentID") %>' ID="hdfAgentID" runat="server"></f:HiddenField>
  41.                                 <asp:LinkButton ID="lbkDoProcess" runat="server">处 理</asp:LinkButton>  
  42.                                         <asp:LinkButton ID="lbkDetail" runat="server">详 情</asp:LinkButton>
  43.                             </ItemTemplate>
  44.                         </f:TemplateField>
  45.                     </Columns>
  46.                     <PageItems>
  47.                         <f:ToolbarSeparator ID="ToolbarSeparator3" runat="server">
  48.                         </f:ToolbarSeparator>
  49.                         <f:ToolbarText ID="ToolbarText1" runat="server" Text="每页记录数:">
  50.                         </f:ToolbarText>
  51.                         <f:DropDownList ID="ddlGridPageSize" Width="80px" AutoPostBack="true" OnSelectedIndexChanged="ddlGridPageSize_SelectedIndexChanged"
  52.                             runat="server">
  53.                             <f:ListItem Text="10" Value="10" />
  54.                             <f:ListItem Text="20" Value="20" />
  55.                             <f:ListItem Text="50" Value="50" />
  56.                             <f:ListItem Text="100" Value="100" />
  57.                         </f:DropDownList>
  58.                         <f:ToolbarSeparator ID="ToolbarSeparator2" runat="server">
  59.                         </f:ToolbarSeparator>
  60.                         <f:Button Text="清空筛选条件&重新绑定数据" runat="server" ID="btnRebind" Icon="Reload">
  61.                         </f:Button>
  62.                     </PageItems>
  63.                 </f:Grid>
  64.             </Items>
  65.         </f:Panel>
  66.     </form>
  67. </body>
  68. </html>
复制代码



aspx.cs




  1. using System;
  2. using System.Collections.Generic;
  3. using System.Data;
  4. using System.Linq;
  5. using System.Web;
  6. using System.Web.UI;
  7. using System.Web.UI.WebControls;
  8. using FineUI;
  9. using HBHSYS.BLL;

  10. namespace HBHSYS.UI.Agent
  11. {
  12.     public partial class AgentList : System.Web.UI.Page
  13.     {
  14.         protected void Page_Load(object sender, EventArgs e)
  15.         {
  16.             if (!IsPostBack)
  17.             {

  18.                 Grid1.EmptyText = String.Format("<img src="{0}" alt="No Data Found!"/>", ResolveUrl("~/images/no_data_found.jpg"));

  19.                 BindGrid();

  20.                 ddlGridPageSize.SelectedValue = Grid1.PageSize.ToString();
  21.             }
  22.         }

  23.         void BindGrid()
  24.         {
  25.             int total = 0;

  26.             string condition = " 1=1";

  27.             if (!string.IsNullOrWhiteSpace(txtUserName.Text))
  28.             {
  29.                 condition += " AND AgentName like '%" + txtUserName.Text + "%'";
  30.             }
  31.             if (!string.IsNullOrWhiteSpace(txtContactName.Text))
  32.             {
  33.                 condition += " AND ContactName like '%" + txtContactName.Text + "%'";
  34.             }
  35.             if (!string.IsNullOrWhiteSpace(txtPhone.Text))
  36.             {
  37.                 condition += " AND Phone like '%" + txtPhone.Text + "%'";
  38.             }

  39.             condition += " AND Status=0 ";
  40.             DataTable table = CommDataBLL.GetListByPage("hbh_Agent", Grid1.PageSize, Grid1.PageIndex + 1, ref total, condition, "UpdateDate desc");
  41.             Grid1.RecordCount = total;
  42.             Grid1.DataSource = table;
  43.             Grid1.DataBind();
  44.         }
  45.         protected void Grid1_PageIndexChange(object sender, FineUI.GridPageEventArgs e)
  46.         {
  47.             Grid1.PageIndex = e.NewPageIndex;
  48.             BindGrid();
  49.         }

  50.         /// <summary>
  51.         /// 处理重新绑定
  52.         /// </summary>
  53.         /// <param name="sender"></param>
  54.         /// <param name="e"></param>
  55.         protected void btnRebind_Click(object sender, EventArgs e)
  56.         {
  57.             FineUI.PageContext.RegisterStartupScript("window.location.reload()");
  58.         }

  59.         protected void btnSearch1_Click(object sender, EventArgs e)
  60.         {
  61.             Grid1.PageSize = Convert.ToInt32(ddlGridPageSize.SelectedValue);

  62.             BindGrid();
  63.         }

  64.         /// <summary>
  65.         /// 处理每页显示记录数
  66.         /// </summary>
  67.         /// <param name="sender"></param>
  68.         /// <param name="e"></param>
  69.         protected void ddlGridPageSize_SelectedIndexChanged(object sender, EventArgs e)
  70.         {
  71.             Grid1.PageSize = Convert.ToInt32(ddlGridPageSize.SelectedValue);

  72.             // 更改每页显示数目时,防止 PageIndex 越界
  73.             if (Grid1.PageIndex > Grid1.PageCount - 1)
  74.             {
  75.                 Grid1.PageIndex = Grid1.PageCount - 1;
  76.             }

  77.             BindGrid();
  78.         }

  79.         /// <summary>
  80.         /// 刷新按钮事件
  81.         /// </summary>
  82.         /// <param name="sender"></param>
  83.         /// <param name="e"></param>
  84.         protected void btnRefresh_Click(object sender, EventArgs e)
  85.         {
  86.             FineUI.PageContext.RegisterStartupScript("window.location.reload()");
  87.         }
  88.         protected void btnSearch_Click(object sender, EventArgs e)
  89.         {
  90.             BindGrid();
  91.         }

  92.         protected void Grid1_RowCommand(object sender, FineUI.GridCommandEventArgs e)
  93.         {
  94.             var key = Grid1.DataKeys[e.RowIndex][0];
  95.             if (e.CommandName == "DoProcess")
  96.             {
  97.                 PageContext.Redirect("AgentDetail.aspx?AgentID=" + key.ToString());
  98.             }
  99.             if (e.CommandName == "Detail")
  100.             {
  101.                 PageContext.Redirect("AgentDetail.aspx?AgentID=" + key.ToString());
  102.             }
  103.         }

  104.         protected void Button1_Click(object sender, EventArgs e)
  105.         {
  106.             System.Web.UI.WebControls.LinkButton lkb = (System.Web.UI.WebControls.LinkButton)sender;
  107.             var row = lkb.Parent as GridRowControl;
  108.             var hdfAgentID = row.FindControl("hdfAgentID") as FineUI.HiddenField;
  109.             if (lkb.ID == "lbkDoProcess")
  110.             {
  111.                 //PageContext.Redirect("AgentApprove.aspx?AgentID=" + hdfAgentID.Text);
  112.                 //PageContext.RegisterStartupScript(String.Format("parent.__doPostBack('','{0}');", tabstrip_iframe_disabled.EVENTARGUMENT_CHECK_TABS_STATUS));
  113.                 //TabStrip1.GetAddTabReference("dynamic_tab_baidu1", "http://www.baidu.com/", "Baidu1", IconHelper.GetIconUrl(Icon.Application), true);
  114.                 PageContext.RegisterStartupScript("parent.AddTab('AgentApprove','Agent/AgentApprove.aspx','加盟商审核');");
  115.             }
  116.             if (lkb.ID == "lbkDetail")
  117.             {
  118.                 //PageContext.Redirect("AgentDetail.aspx?AgentID=" + hdfAgentID.Text);
  119.                 PageContext.RegisterStartupScript("parent.AddTab('AgentDetail','Agent/AgentDetail.aspx','加盟商详情');");
  120.             }
  121.         }
  122.     }
  123. }
复制代码




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
沙发
发表于 2014-9-6 22:21:08 | 只看该作者
多谢指出。

官网示例这个问题不是 v4.1.2 的问题,是即将发布的 v4.1.3 的问题,已经修正,你可以清空浏览器缓存再试一下:http://fineui.com/demo/#/demo/grid/grid_pageitems.aspx

至于你代码中发现的问题,请用空项目重现下(应该和官网示例不是一个问题)
地板
 楼主| 发表于 2014-9-8 23:10:17 | 只看该作者
sanshi 发表于 2014-9-6 22:21
多谢指出。

官网示例这个问题不是 v4.1.2 的问题,是即将发布的 v4.1.3 的问题,已经修正,你可以清空浏览 ...

我代码中的错误,问题我已经找到了,将如下代码删除以后,设置分页大小,就可以正常了,但是这个代码我也需要用到,不能删除啊。三石先生请问一下,这个是什么原因啊?你会考虑解决这个问题吗?或者说替代方案。我现在需要在一列中放入多个button,用于点击操作。
  1.                         <f:TemplateField HeaderText=" 操 作 " Width="60">
  2.                             <ItemTemplate>
  3.                                 <f:HiddenField Text='<%#Eval("AgentID") %>' ID="hdfAgentID" runat="server"></f:HiddenField>
  4.                                 <asp:LinkButton ID="lbkDoProcess" OnClick="Button1_Click" runat="server">处 理</asp:LinkButton>&nbsp;&nbsp;
  5.                                 <asp:LinkButton ID="lbkDetail" OnClick="Button1_Click" runat="server">详 情</asp:LinkButton>
  6.                             </ItemTemplate>
  7.                         </f:TemplateField>
复制代码
5#
 楼主| 发表于 2014-9-8 23:16:11 | 只看该作者
本帖最后由 xtb_sp 于 2014-9-8 23:18 编辑

找到真正原因了。原来f:TemplateField 列中不能同时拥有Fineui控件和asp.net控件存在。把
<f:HiddenField Text='<%#Eval("AgentID") %>' ID="hdfAgentID" runat="server"></f:HiddenField>
控件替换成
<asp:HiddenField Value='<%#Eval("AgentID") %>' ID="hdfAgentID" runat="server"/>
控件就没有问题了。

修改后正常了
  1.                         <f:TemplateField HeaderText=" 操 作 " Width="60">
  2.                             <ItemTemplate>
  3.                                 <asp:HiddenField Value='<%#Eval("AgentID") %>' ID="hdfAgentID" runat="server"/>
  4.                                 <asp:LinkButton ID="lbkDoProcess" OnClick="Button1_Click" runat="server">处 理</asp:LinkButton>  
  5.                                 <asp:LinkButton ID="lbkDetail" OnClick="Button1_Click" runat="server">详 情</asp:LinkButton>
  6.                             </ItemTemplate>
  7.                         </f:TemplateField>
复制代码


6#
发表于 2014-9-9 10:04:24 | 只看该作者
xtb_sp 发表于 2014-9-8 23:16
找到真正原因了。原来f:TemplateField 列中不能同时拥有Fineui控件和asp.net控件存在。把

控件替换成

是的,暂时 TemplateField中只能放置ASP.NET控件
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|FineUI 官方论坛 ( 皖ICP备2021006167号-1 )

GMT+8, 2024-9-28 07:23 , Processed in 0.050820 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表