找回密码
 立即注册

QQ登录

只需一步,快速开始

X765321

银牌会员

31

主题

99

帖子

3742

积分

银牌会员

积分
3742

活字格认证

[已处理] 强制spread刷新

X765321
银牌会员   /  发表于:2012-6-21 15:01  /   查看:13697  /  回复:19
客户端代码:
<asp:ScriptManager ID="ScriptManager1" runat="server" />
<asp:Button ID="btnEWSave" runat="server" Text="保存" />
<asp:UpdatePanel ID="upnEditButtonPanel" runat="server" UpdateMode="Conditional">
    <Triggers>
                    <asp:AsyncPostBackTrigger ControlID="btnEWSave" EventName="Click" />
    </Triggers>
</asp:UpdatePanel>
服务器端按钮“btnEWSave”通过以上方法实现无刷新的执行服务端事件:
protected void btnEWSave_Click(object sender, EventArgs e)
{
    FpSpread1.ActiveSheetView.RowCount++;
}

问题:
1.此时FpSpread1行数并为改变,如何在不刷新整页的情况下使对FpSpread1的更改生效?
2.通过客户端方法CallBack触发ButtonCommand事件,在事件中对FpSpread1更改会生效。为什么在按钮的服务端事件中对FpSpread1更改无效,而在FpSpread1的服务端事件对FpSpread1的更改有效?有何区别?

19 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2012-6-21 16:10:00
沙发
回复 1楼X765321的帖子

原因为:
<asp:AsyncPostBackTrigger ControlID="btnEWSave" EventName="Click" />
设置点击 button 时只更新 UpdatePanel 区域,所以后台代码虽然执行了,但是 UpdatePanel 之外部分并没有进行更新。
正确方法:

  1. <asp:ScriptManager ID="ScriptManager1" runat="server" />
  2.     <asp:Button ID="btnEWSave" runat="server" Text="保存" onclick="btnEWSave_Click" />
  3.     <asp:UpdatePanel ID="upnEditButtonPanel" runat="server" UpdateMode="Conditional">
  4.     <Triggers>
  5.                     <asp:AsyncPostBackTrigger ControlID="btnEWSave" EventName="Click" />

  6.     </Triggers>
  7.     <ContentTemplate>
  8.     <FarPoint:FpSpread ID="FpSpread1" runat="server" BorderColor="Black" BorderStyle="Solid"
  9.         BorderWidth="1px" Height="200" Width="400">
  10.         <CommandBar BackColor="Control" ButtonFaceColor="Control" ButtonHighlightColor="ControlLightLight"
  11.             ButtonShadowColor="ControlDark">
  12.         </CommandBar>
  13.         <Sheets>
  14.             <FarPoint:SheetView SheetName="Sheet1">
  15.             </FarPoint:SheetView>
  16.         </Sheets>
  17.     </FarPoint:FpSpread>
  18.     </ContentTemplate>
  19.     </asp:UpdatePanel>
复制代码
回复 使用道具 举报
X765321
银牌会员   /  发表于:2012-6-21 21:38:00
板凳
有没有方法可以不把FpSpread1放置在UpdatePanel控件中而刷新它?感觉FpSpread1做到这种无刷新的效果应该也是内部全用了和UpdatePanel类似的控件,那应该可以直接调用某个方法更新而不通过UpdatePanel。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2012-6-25 10:53:00
地板
回复 3楼X765321的帖子

不好意思,该 Case 无法实现。
回复 使用道具 举报
study1990
金牌服务用户   /  发表于:2012-6-26 10:21:00
5#
回复 4楼iceman的帖子

Spread总是每隔几秒钟自动刷新,怎么样禁止其自动刷新?
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2012-6-26 10:54:00
6#
回复 5楼study1990的帖子

请问 Study1990 针对 Spread 进行了哪些设置呢?
回复 使用道具 举报
study1990
金牌服务用户   /  发表于:2012-6-26 13:46:00
7#
回复 6楼iceman的帖子

Spread每隔几秒钟就向后台提交一次,哪个属性是设置Spread自动提交的?
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2012-6-26 13:57:00
8#
回复 7楼study1990的帖子

spread 并没有提供相关属性。
回复 使用道具 举报
study1990
金牌服务用户   /  发表于:2012-6-26 14:05:00
9#
回复 8楼iceman的帖子

在单元格中编辑时,Spread一自动刷新,单元格就失去焦点了,这种现象很不好。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2012-6-26 14:11:00
10#
回复 9楼study1990的帖子

根据当前楼主提供的信息,我无法重现问题,楼主可以发 Demo 到论坛调试。
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部