FineUI 官方论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

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

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

搜索
查看: 4922|回复: 6
打印 上一主题 下一主题

请教how to 使用后台代码刷新Grid数据

[复制链接]
跳转到指定楼层
楼主
发表于 2014-3-18 15:12:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
数据库中数据变更后,发现如果点击Button并在后台事件里使用重绑Grid方法,但页面显示数据没有更改,虽然Debug看数据项是没问题的。只有重新刷新页面才显示正确。。求帮助。。看extjs写的神马grid.store.reload()..我在后台事件里完全不晓得肿么改!贴上源码
aspx:
   
  1. <x:Button ID="Btn_Search" Text="搜索" runat="server" OnClick="Btn_Search_Click" />
复制代码


.cs:
  1. protected void Btn_Search_Click(object sender, EventArgs e)
  2.         {
  3.             BindGrid_PageIndex();

  4.         }
复制代码






沙发
 楼主| 发表于 2014-3-18 15:15:24 | 只看该作者
PS:Source版本是3.2.6
板凳
 楼主| 发表于 2014-3-18 16:16:50 | 只看该作者
我去。。我发现上传后如果是Insert的话 Grid会显示出新数据。。如果是Update的话就不变更硬要重刷一下页面。。这是渲染的问题还是肿么。。求高手
地板
发表于 2014-3-19 08:29:39 | 只看该作者
g1.datasou...=新数据就可以了呀。。。
5#
 楼主| 发表于 2014-3-19 08:57:20 | 只看该作者
bluer 发表于 2014-3-19 08:29
g1.datasou...=新数据就可以了呀。。。

我就是重绑了下啊。。。
  1. #region BindGrid
  2.         private void BindGrid_PageIndex()
  3.         {
  4.             Grid1.PageIndex = 0;
  5.             BindGrid();
  6.         }

  7.         private void BindGrid()
  8.         {
  9.             DataTable dt = Fun.GetDt_LoanBankLend(Hid_OpRole.Text, Drp_Strm.SelectedValue, Drp_Group, Rbl_Career, Drp_Grade, Drp_Plan, Drp_Class, Tbx_CampusidName_Descr.Text.Trim());

  10.             string sort_order = "ACAD_GROUP,AcadCar_Sort,STAF_GRADE,ACAD_PLAN,STAF_CLASS,CAMPUS_ID";
  11.             //分页
  12.             Grid1.RecordCount = dt.Rows.Count;
  13.             DataTable dt_page = Fun.GetPagedDataTable(Grid1, dt, sort_order);
  14.             DataView dv = dt_page.DefaultView;
  15.             Grid1.DataSource = dv;
  16.             Grid1.DataBind();
  17.             //Fun.BindGrid(dt, sort_order, Grid1);
  18.         }
  19.         #endregion
复制代码

这里的dt重生成了,不过dt相应入参和重绑之前是一样的。我觉得会有影响,如果我改个Drp_Group选定值神马的dt的入参会有变化。
我觉得是不是渲染神马的原因。。看extjs上说要grid.getstore().reload(); 我后台完全晕的。。
是不是要刷新个Grid控件神马的。。我试下这个
  1. PageContext.RegisterStartupScript(Grid1.GetRefreshIFrameReference());
复制代码
也不行
6#
 楼主| 发表于 2014-3-19 09:32:50 | 只看该作者
bluer 发表于 2014-3-19 08:29
g1.datasou...=新数据就可以了呀。。。

恩我观察了下因为我的Grid的好多显示用的是模板列
好吧我用奇怪的方法暂时解决先。。。有空再来研究了。。
我在Dt的sql里加一个字段存的时间,完了在Grid的里加一个BoundField指定DataField为时间再Hidden之。。
还是希望有人能告之如何解决这个问题啊真心的。。
附上代码
(1)前台
  1. <form id="form1" runat="server">
  2.     <x:PageManager ID="PageManager1" runat="server" AutoSizePanelID="Panel1" />
  3.     <x:Button ID="Button1" Text="搜索" runat="server" OnClick="Btn_Search2_Click" />
  4.     <x:Grid ID="Grid1" Title="测试" ShowBorder="false" ShowHeader="true" runat="server">
  5.         <Columns>
  6.             <x:TemplateField Width="120px" HeaderText="时间-模板列">
  7.                 <ItemTemplate>
  8.                     <%# Eval("ctime") %>
  9.                 </ItemTemplate>
  10.             </x:TemplateField>
  11.             <%--<x:BoundField Width="150px" HeaderText="时间-绑定列" DataField="ctime" />--%>
  12.         </Columns>
  13.     </x:Grid>
  14.     </form>
复制代码

  (2)后台:
protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                Bind_Grid();
            }
        }
        protected void Bind_Grid()
        {

            SqlHelper sqh = new SqlHelper();
            string sqltext = "select sysdate ctime from dual";
            DataTable dt = sqh.GetDataTable(sqltext);
            Grid1.DataSource = dt;
            Grid1.DataBind();
            

        }
        protected void Btn_Search2_Click(object sender, EventArgs e)
        {
            Bind_Grid();
        }
7#
 楼主| 发表于 2014-3-19 10:25:05 | 只看该作者
如果满足
(1)不使用扩展列就是有+号那个,或者扩展列要默认展开
(2)Grid重绑后调用Grid.UpdateTemplateFields()
就能解决之前的数据库数据变更后,再搜索Grid不显示数据变化的异常。。
可是我总不能扩展列都展开嘛太丑了。。还好是之前看一个贴子有人反应也是扩展列不展开时,一些PostBack神马的不生效。。也不晓得能不能解决这个问题。。那个贴子找不到了。。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-11-26 23:46 , Processed in 0.045153 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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