找回密码
 立即注册

QQ登录

只需一步,快速开始

wangyiwangyi

中级会员

16

主题

68

帖子

696

积分

中级会员

积分
696
wangyiwangyi
中级会员   /  发表于:2016-9-5 15:49  /   查看:6593  /  回复:16
blob959092407.png
页面前台为Ext.net布局,查询后不能读取Farpoint数据,请问Farpoint与Ext.net的解决方案。
<body>
    <form id="Form1" runat="server">
    <ext:ResourceManager ID="ResourceManager1" runat="server" />
    <ext:Viewport ID="Viewport1" runat="server" Layout="BorderLayout">
        <Items>
            <ext:FormPanel ID="FormPanel1" runat="server" Margins="0 0 0 0" Border="false" Padding="0"
                Region="North" Layout="" class="mapbg2" Title="计划负荷填报状态">
                <TopBar>
                    <ext:Toolbar ID="Toolbar1" runat="server">
                        <Items>
                            <extateField ID="dtDate" runat="server" Vtype="daterange" FieldLabel="日期" LabelAlign="Right"
                                EnableKeyEvents="true" Format="yyyy-MM-dd" Width="250">
                            </extateField>
                            <ext:Button ID="BtnSearch" runat="server" Text="查  询" Icon="Magnifier" TPRINA="查询">
                                <DirectEvents>
                                    <Click>
                                        <EventMask ShowMask="true" Msg="正在加载数据,请稍候..." />
                                    </Click>
                                </DirectEvents>
                            </ext:Button>
                        </Items>
                    </ext:Toolbar>
                </TopBar>
            </ext:FormPanel>
            <ext:Container ID="anelPie" runat="server" Margins="0 0 0 0" Border="false" Padding="0"
                Region="Center" class="mapbg2" Title="计划负荷填报状态">
                <Content>
                    <FarPoint:FpSpread ID="FpSpread1" runat="server" BorderStyle="Solid" BorderWidth="0px"
                        Style="position: relative;" Width="100%" Height="600" Visible="true">
                        <CommandBar BackColor="Control" ButtonFaceColor="Control" ButtonHighlightColor="ControlLightLight"
                            ButtonShadowColor="ControlDark">
                            <Background BackgroundImageUrl="SPREADCLIENTPATH:/img/cbbg.gif" />
                        </CommandBar>
                        <Sheets>
                            <FarPoint:SheetView SheetName="Sheet1">
                            </FarPoint:SheetView>
                        </Sheets>
                        <TitleInfo BackColor="#E7EFF7" Font-Size="X-Large" ForeColor="" HorizontalAlign="Center"
                            VerticalAlign="NotSet">
                        </TitleInfo>
                    </FarPoint:FpSpread>
                </Content>
            </ext:Container>
        </Items>
    </ext:Viewport>
    </form>
</body>

后台代码为:
protected void Page_Load(object sender, EventArgs e)
    {
        try
        {
            if (!X.IsAjaxRequest && !IsPostBack)
            {
                FpSpread1.ActiveSheetView.RowCount = 150;
                FpSpread1.ActiveSheetView.ColumnCount = 30;
                FpSpread1.EnableAjaxCall = true;
                FpSpread1.ClientAutoCalculation = true;
                FpSpread1.ActiveSheetView.Cells[3, 3].Text = "sdf";
            }
        }
        catch (Exception ex)
        {
            UIHelpers.MessageShow("提示", ex.Message);
        }
    }

    #endregion

    protected void BtnSearch_Click(object sender, EventArgs e)
    {
        try
        {

            FpSpread1.ActiveSheetView.Cells[3, 3].Text = "sdfggg";

            string aaa = FpSpread1.ActiveSheetView.Cells[3, 4].Text;

        }
        catch (Exception ex)
        {
            UIHelpers.MessageShow("提示", ex.Message);
        }
    }

16 个回复

倒序浏览
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2016-9-5 17:56:18
沙发
这个得调查一下,还没有用户反馈过河Ext.net 有关的问题。您可以发个demo过来嘛,这样处理起来快一些。
回复 使用道具 举报
wangyiwangyi
中级会员   /  发表于:2016-9-6 09:49:09
板凳
dexteryao 发表于 2016-9-5 17:56
这个得调查一下,还没有用户反馈过河Ext.net 有关的问题。您可以发个demo过来嘛,这样处理起来快一些。

FarpointExt.rar (7.74 MB, 下载次数: 100)
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2016-9-6 14:11:59
地板
wangyiwangyi 发表于 2016-9-6 09:49
因项目需求,麻烦尽快确认一下!
问题描述:页面单元格不能读取值与赋值。

谢谢您提供的Demo。

很抱歉回复晚了。
您把Spread使用在Ext.net布局中,我们并未针对Ext.Net控件库做过相关测试,不能保证两者之间是否会有冲突。也很难确定如果存在冲突,到底是Ext.net的问题还是我们产品的问题。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
wangyiwangyi
中级会员   /  发表于:2016-9-6 15:16:45
5#
Spread使用在Ext.net布局中与布局外同样页面单元格不能读取值与赋值,页面只要有Ext内容Farpoint操作失效!
<FarPoint:FpSpread ID="FpSpread1" runat="server" BorderStyle="Solid" BorderWidth="0px"
                        Style="position: relative;" Width="100%" Height="600" Visible="true">
                        <CommandBar BackColor="Control" ButtonFaceColor="Control" ButtonHighlightColor="ControlLightLight"
                            ButtonShadowColor="ControlDark">
                            <Background BackgroundImageUrl="SPREADCLIENTPATH:/img/cbbg.gif" />
                        </CommandBar>
                        <Sheets>
                            <FarPoint:SheetView SheetName="Sheet1">
                            </FarPoint:SheetView>
                        </Sheets>
                        <TitleInfo BackColor="#E7EFF7" Font-Size="X-Large" ForeColor="" HorizontalAlign="Center"
                            VerticalAlign="NotSet">
                        </TitleInfo>
                    </FarPoint:FpSpread>
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2016-9-6 17:56:02
6#
wangyiwangyi 发表于 2016-9-6 15:16
Spread使用在Ext.net布局中与布局外同样页面单元格不能读取值与赋值,页面只要有Ext内容Farpoint操作失效! ...

您好。
在同一页面引用Spread和Ext.NET就有可能存在冲突,从用法上来说是不能保证的。
有关这个冲突的问题,我已经将您的Demo反馈给产品组,如果有新的反馈会在第一时间给您通知。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2016-9-8 09:07:22
7#
wangyiwangyi 发表于 2016-9-6 15:16
Spread使用在Ext.net布局中与布局外同样页面单元格不能读取值与赋值,页面只要有Ext内容Farpoint操作失效! ...

经过对您Demo的测试,我们没有重现不能读取Spread的数据的问题。
对于您Demo中使用的代码,我们猜测应该使用如下代码:
  1. protected void BtnSearch_Click(object sender, EventArgs e)
  2.     {
  3.         try
  4.         {
  5.             FpSpread1.ActiveSheetView.Cells[3, 3].Text = "重新赋值";
  6.             string strVal = FpSpread1.ActiveSheetView.Cells[3, 4].Text; // The return value is EMPTY HERE ???
  7.        }

  8.         catch (Exception ex)
  9.         {
  10.             //UIHelpers.MessageShow("提示", ex.Message);

  11.         }
  12.     }
复制代码

从代码来看,获取错误的单元格,我测试如下代码,它是正常的:
  1. string val1 = FpSpread1.ActiveSheetView.Cells[1, 1].Text;
  2. string val2 = FpSpread1.ActiveSheetView.Cells[3, 3].Text;
复制代码

它在Page_Load事件里返回合适的值。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
wangyiwangyi
中级会员   /  发表于:2016-9-8 09:29:27
8#
本帖最后由 wangyiwangyi 于 2016-9-8 09:30 编辑

从代码来看,获取错误的单元格.在数据区域范围内为什么是获取错误的单元格?

Page_Load是第一次加载,设置单元格数据是没有问题的,DEMO这一点已经体现。
现问题是我加载数据完成后,在页面通过按钮事件不能够读取与设置单元格数据!

我通过多次测试页面属性:
<FarPoint:FpSpread ID="FpSpread1" runat="server" BorderStyle="Solid" BorderWidth="0px"
                        Style="position: relative;" Width="100%" Height="613" ViewStateMode="Enabled">

ViewStateMode="Enabled"设置为Enabled,页面最大行列是有效的,但是读取与赋值还是不成功。
FpSpread1.ActiveSheetView.RowCount = 150;
FpSpread1.ActiveSheetView.ColumnCount = 30;

可否提供DEMO给你们技术组,确定问题点!
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2016-9-8 11:50:17
9#
本帖最后由 Alice 于 2016-9-8 11:51 编辑
wangyiwangyi 发表于 2016-9-8 09:29
从代码来看,获取错误的单元格.在数据区域范围内为什么是获取错误的单元格?

Page_Load是第一次加载,设 ...

很抱歉没有表达清楚我的意思。
在BtnSearch_Click中对单元格获取值得代码有误,您原来是这样写的:
  1. FpSpread1.ActiveSheetView.Cells[3, 3].Text = "重新赋值";
  2.             string strVal = FpSpread1.ActiveSheetView.Cells[3, 4].Text;
复制代码

设置和获取值不是同一个单元格,所以获取的值才是空。
我理解你是想对同一个单元格获取值,代码应该是这样的:
  1. FpSpread1.ActiveSheetView.Cells[3,3].Text = "重新赋值";
  2.             string strVal = FpSpread1.ActiveSheetView.Cells[3, 3].Text;
复制代码

这个时候获取到单元格【3,3】的值就是”重新赋值“,这点是没有问题的。

问题出在”重新赋值“没有渲染到页面上,这点已经请产品组调查当中,很抱歉我这里还未收到反馈。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2016-9-8 18:16:12
10#
wangyiwangyi 发表于 2016-9-8 09:29
从代码来看,获取错误的单元格.在数据区域范围内为什么是获取错误的单元格?

Page_Load是第一次加载,设 ...

没有渲染的问题,是因为没有刷新。
.NET标准控件也存在同样的问题(测试标准的TextBox也有同样问题),这是.NET下的问题,调用 PanelPie.Update()就可以解决这个问题。
  1. protected void BtnSearch_Click(object sender, EventArgs e)
  2.     {
  3.         try
  4.         {
  5.             //textbox1.Text = "1231";
  6.             FpSpread1.ActiveSheetView.Cells[3, 3].Text = "重新赋值 132123";      

  7.             string val2 = FpSpread1.ActiveSheetView.Cells[3, 3].Text;
  8.             PanelPie.Update(); // MUST CALL THIS TO UPDATE TO UI
  9.         }
  10.         catch (Exception ex)
  11.         {
  12.             //UIHelpers.MessageShow("提示", ex.Message);
  13.         }
  14.     }
复制代码
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部