找回密码
 立即注册

QQ登录

只需一步,快速开始

moriya

论坛元老

78

主题

189

帖子

4万

积分

论坛元老

积分
42318

活字格认证

moriya
论坛元老   /  发表于:2012-8-2 11:45  /   查看:6367  /  回复:6
winform 中的CellChanged  事件在.net 中對應是哪個事件,現要實現編輯cell后觸發一個事件功能,如何編寫

6 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2012-8-2 12:05:00
沙发
回复 1楼moriya的帖子

请问楼主使用的是哪个平台的产品?
Spread for ASP.NET 可以使用前台 ActiveCellChanged 事件。详细用法请参考帮助文档。
回复 使用道具 举报
moriya
论坛元老   /  发表于:2012-8-2 15:36:00
板凳
hello iceman :

                你好 ,我們用的是spread 6.0 ,一個工程用的是.net ,根據你的建議,找到如下代碼,目前可以觸發事件,符合開發需要,現還有一點小問題,就是怎么能在觸發事件中改變rowheader的顏色(改為黃色),目地是在后臺判斷rowheader是否是黃色,如果是黃色則導入到數據庫

window.onload = function () {

            var spread1 = document.getElementById("fpsWebRfqDtl");
            if (document.all) {
                if (spread1.addEventListener) {

                    // IE9

                    spread1.addEventListener("DataChanged", DataChanged, false);

                }
                else {

                    // Other versions of IE and IE9 quirks mode (no doctype set)

                    spread1.onActiveCellChanged = cellChanged;

                }

            }
            else {

                // Firefox

                spread1.addEventListener("DataChanged", DataChanged, false);
            }

        }

        function DataChanged() {

            //alert("r" + event.row + ",c" + event.col);
            fpsWebRfqDtl;  // 將rowheader 變更為黃色,后臺一定要能判斷是否變為黃色

        }
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2012-8-2 17:39:00
地板
回复 3楼moriya的帖子

你好,设置方法如下:

  1.     <script type="text/javascript">
  2.         function getrowheader() {
  3.             var spread = this.document.getElementById("FpSpread1_viewport");
  4.             var activeRow = spread.ActiveRow;

  5.             var rowHeaderTable = this.document.getElementById("FpSpread1_rh");
  6.             rowHeaderTable.cells[activeRow].bgColor = "yellow";
  7.         }
  8.     </script>
复制代码
回复 使用道具 举报
moriya
论坛元老   /  发表于:2012-8-3 11:39:00
5#
iceman  :
            你好:用javascript 是可以將rowheader標記為黃色,在后臺好像不能抓取到,我的代碼如下:

if(fpsWebRfqDtl.ActiveSheetView.RowHeader.Rows[i].BackColor == Color.Yellow)
{
// 處理過程
}
//這樣也不行
if(fpsWebRfqDtl.ActiveSheetView.RowHeader.Cells[i,0].BackColor == Color.Yellow)
{
// 處理過程
}
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2012-8-3 18:06:00
6#
回复 5楼moriya的帖子

你好,可以在前台 调用 Spread ,CallBack 事件,在后台通过 SaveChanges 方法保存设置。
回复 使用道具 举报
moriya
论坛元老   /  发表于:2012-8-15 14:12:00
7#
iceman 你好 ,根據你的提示用以下方法已經完成該功能
前臺 javascript :   fpsWebRfqDtl.UpdatePostbackData();  fpsWebRfqDtl.CallBack(&quot;Update&quot;);
后臺 添加事件     protected void fpsWebRfqDtl_UpdateCommand(object sender, SpreadCommandEventArgs e)
    {
        if (e.CommandName == &quot;Update&quot;)
        {

            fpsWebRfqDtl.ActiveSheetView.RowHeader.Rows[e.SheetView.ActiveRow].BackColor = Color.Yellow;
        }

    }
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部