yaoxiaoqiang00 发表于 2015-5-7 10:59:00

Spread for Silverlight单元格数据格式问题

某些单元格是数值格式的,我想禁止录入文本,怎么实现?

iceman 发表于 2015-5-7 15:25:00

回复 1楼yaoxiaoqiang00的帖子

问题已经查收,正在调查中,目前的解决方法是通过截获编辑事件来判断输入字符是否属于数字,如果不是就取消编辑。您可以先通过这个思路尝试,我这边也会继续跟进。

iceman 发表于 2015-5-8 13:47:00

回复 1楼yaoxiaoqiang00的帖子

测试代码如下:

private void gcSpreadSheet1_EditChange(object sender, GrapeCity.Windows.SpreadSheet.UI.EditCellEventArgs e)
      {
            SpreadView sv = sender as SpreadView;
            TextBox tx = sv.CellEditor as TextBox;
            string cellText = tx.Text;

            if (!bolNum(cellText))
            {
                tx.Text = tx.Text.Substring(0, tx.Text.Length - 1);
                tx.Select(tx.Text.Length, 0);
            }
            
      }

      public bool bolNum(string temp)
      {
            for (int i = 0; i < temp.Length; i++)
                        {
                byte tempByte=Convert.ToByte(temp);
                if ((tempByte<48)||(tempByte>57))
                    {
                  return false;
                    }
                        }

            return true;
      }


代码中只考虑了在文本末尾输入字符的情况,其他情况请楼主完善下。
页: [1]
查看完整版本: Spread for Silverlight单元格数据格式问题