找回密码
 立即注册

QQ登录

只需一步,快速开始

[已处理] spread单元格设置

iceman
社区贡献组   /  发表于:2013-10-9 11:16:00
21#
回复 20楼tingche的帖子

恩 好的,感谢你的反馈
回复 使用道具 举报
tingche
银牌会员   /  发表于:2013-10-16 10:21:00
22#
textCell_hang.png
再请教下,如图,当对单元格作如下设置后
Dim tcell As New FarPoint.Web.Spread.TextCellType()

            Dim Str As String

            Str="12345645645645645645456456456555555555555555555"

            tcell.AllowWrap=True

             tcell.ShowEditor = True

            tcell.Multiline = True
单击和双击单元格后,都变成了全选,在全选的情况下,再点击这个单元格时,别的单元格,都会去掉全选,光标自动出现,然后可以实现编辑,但是现在这个单元格,是不能编辑的,点击后没有反应,依然是全选状态,如果要想在现在内容基础上编辑,就只能手动在键盘上用光标键来调出光标,或者退格删掉所有内容,比较麻烦,请问怎么解决?谢谢!!!
回复 使用道具 举报
tingche
银牌会员   /  发表于:2013-10-16 10:35:00
23#


2013-10-16 10:24:11

再请教下,如图,当对单元格作如下设置后
Dim tcell As New FarPoint.Web.Spread.TextCellType()

            Dim Str As String

            Str="12345645645645645645456456456555555555555555555"

            tcell.AllowWrap=True

             tcell.ShowEditor = True

            tcell.Multiline = True
单击和双击单元格后,都变成了全选,在全选的情况下,再点击这个单元格时,别的单元格,都会去掉全选,光标自动出现,然后可以实现编辑,但是现在这个单元格,是不能编辑的,点击后没有反应,依然是全选状态,如果要想在现在内容基础上编辑,就只能手动在键盘上用光标键来调出光标,或者退格删掉所有内容,比较麻烦,请问怎么解决?谢谢!!!
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2013-10-16 15:36:00
24#
回复 23楼tingche的帖子

tingche 你好,

点击这个单元格时,其实现在的 焦点 已经在 HTML Input 上了。我想可以绑定它的前台事件来操作文本的选择:
后台

  1. protected void Page_Load(object sender, EventArgs e)
  2.         {
  3.             if (IsPostBack)
  4.             {
  5.                 return;
  6.             }

  7.             FarPoint.Web.Spread.TextCellType tcell = new FarPoint.Web.Spread.TextCellType();
  8.             string str = "12345645645645645645456456456555555555555555555";

  9.             tcell.AllowWrap = true;

  10.             tcell.ShowEditor = true;

  11.             tcell.Multiline = true;


  12.             this.FpSpread1.Sheets[0].Cells[0, 0].CellType = tcell;
  13.             this.FpSpread1.Sheets[0].Cells[0, 0].Text = str;
  14.             this.FpSpread1.Sheets[0].Rows[0].Height = 100;
  15.             this.FpSpread1.Sheets[0].Columns[0].Width = 100;
  16.         }

  17.         protected override void Render(HtmlTextWriter writer)
  18.         {
  19.             TextBox input = this.FpSpread1.FindControl("0,0") as TextBox;

  20.             input.Attributes.Add("ondblclick", "changeselect()");

  21.             base.Render(writer);
  22.         }
复制代码

前台:

  1.     <script type="text/javascript">
  2.         function changeselect() {
  3.             
  4.             alert("test");
  5.         }
  6.     </script>
复制代码
回复 使用道具 举报
tingche
银牌会员   /  发表于:2013-10-17 11:33:00
25#
不好意思,还是没能解决。原因是现在的控件,单击就触发了全选事件。即使我加了单击事件,或者是改变单击事件,前台生成html和js代码后,对控件设置似乎根本不起作用。是不是spread在生成这个控件的时候,底层有处理?spread在生成控件html页面后是看不到onclick事件和dbclick事件的。
前台代码如下:
<td class="s13s12" onresize="var t=event.srcElement.getElementsByTagName(&amp;#39;textarea&amp;#39;)[0];t.style.width=(t.parentNode.clientWidth-6)+&amp;#39;px&amp;#39;;" FpEditorID="MainContentMiddleArea_CommonSpread_fsCommon_ctl75" style="padding-right:0px;padding-left:0px;overflow:hidden;"><textarea name="ctl00$MainContentMiddleArea$CommonSpread$fsCommon$31,8" rows="2" cols="10" id="MainContentMiddleArea_CommonSpread_fsCommon_31,8" tabindex="-1" FpEditor="TextBox" ondbclick="ChangeSelect(&amp;#39;MainContentMiddleArea_CommonSpread_fsCommon_31,8&amp;#39;);" style="background-colorightSkyBlue;height:50px;width:205px;">
1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26</textarea></td>

红色部分是我在后台添加的事件,不起作用。

现在就是不清楚,到底是什么事件让单元格单击就变成了全选状态。


其他单元格都是双击后才进入编辑界面的,现在这个单元格,已经显示为可编辑控件,是不是这里的显示,让其与其他单元格的操作相比省掉了一步,所以直接就进入了编辑状态,默认为全选?但是单击事件依然是全选,请问如何控制?
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2013-10-17 14:50:00
26#
回复 25楼tingche的帖子

你好,
我使用的版本是 Spread for ASP.NET 7.0 ,

首先,我单击 input 时没有全选。
其次,我设置的 ondblclick 和 onclick 事件都起作用,请参考 Demo:

10505_2.zip (7.62 KB, 下载次数: 517)
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2013-10-21 09:30:00
27#
回复 26楼iceman的帖子

请问问题进展如何?
回复 使用道具 举报
tingche
银牌会员   /  发表于:2013-10-21 10:10:00
28#
我用的是spread 5.0,按照你的demo,我实现了单击不全选,光标在文本的最后面。现在发现的问题是。参照其他的文本输入单元格,都是单击后,焦点定位到了单元格,这时光标没有出现,输入文本时,会把原来的文本全部清掉。其他的文本框双击以后,会进入编辑模式,可以鼠标定位光标,鼠标点哪里,光标就到了哪里,光标划过文本,会显示选中状态。但是这个单元格下,不能实现鼠标到哪,光标就定位到哪,选中一段文本,不能实现这部分的选中,而是全部选中了。请帮助解决下!非常感谢!

你给的demo,我仿照做了份,是没有这种问题出现的,不知道是什么地方设置改变了这种状态还是......
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2013-10-21 14:31:00
29#
回复 28楼tingche的帖子

那请问现在问题解决了吗?
回复 使用道具 举报
tingche
银牌会员   /  发表于:2013-10-21 15:21:00
30#
没有,不知道是什么情况引起的,只有当没有内容的时候,才会出现光标,否则都是全选状态。想用鼠标选文本中间的一个位置,点击后没有出现光标在相应的位置,而是全选了文本,或者部分选中文本,结果也是全部选中了文本,你们有碰到过么?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部