程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> spread for web的使用技巧

spread for web的使用技巧

編輯:.NET實例教程

提到spread,也許做國內項目的不太知道,但是做過對日項目的就一定知道,網格控件開發裡的Number One就是它了。無論C/S結構的,還是B/S結構的項目,spread是跟著腳步走,做得也是相當完美。spread for Form的控件有設計模式,開發者只需要簡單地做些配置就可以實現幾乎所有你想要實現的,但是spread for web這個控件卻沒有那麼簡單明了,雖然spread設計者已經幫你完善了很多功能,但有利也有弊,例如用戶不喜歡那種Cell旁邊彈出消息框的驗證風格怎麼辦?下面我就實現如何截獲spread前台事件,實現自己想要的消息提示。

首先,我要說明,spread for web的所有前台事件(焦點事件,編輯事件等)都是用腳本實現的,它是調用fp_clIEnt文件夾下的.JS腳本來實現前台事件的,所以我要把這個文件夾全部拷貝到你的工程文件夾下(這個文件夾在安裝目錄的Samples裡面,例如C:\Program Files\SpreadNETWeb3\Samples\VB\ClIEntScript)。然後要在web.config文件裡面引入這些腳本,如下代碼



<aPPSettings>
          <add key="fp_client" value="~/fp_clIEnt"/>
</aPPSettings>

之後,你就可以用fp_clIEnt裡面的事件了,要知道,既然都是腳本實現事件,所以你也要用腳本來截獲事件,這樣你就要在.ASPx頁面引入你自己的一個.js文件,在頁面啟動事件裡調用JS函數<body onload="return fncInitSpread();">



//全局變量
var obJSPread;
var vSaveRow;
var vSaveCol;
var vRetClick;

function fncInitSpread()
{

    obJSPread = document.all("spdDetail");
   
    //鼠標點擊的處理
    obJSPread.onmousedown=fncSpreadClick;
    
    //設置焦點的處理
    obJSPread.onActiveCellChanged=fncCellChanging;
    
    //編輯結束的處理
    obJSPread.onEditStopped=fncEditStop;
    
    //編輯開始的處理
    obJSPread.onEditStart=fncEditStart;
    
};

function fncSpreadClick()
{
    switch (event.srcElement.parentElement.FpSpread)
    {
        case "r":
            //點擊cell
            vRetClick = "cell";
            break;
        default:
           //點擊head
            vRetClick = "head";
            break;
    };
};

不用寫得太詳細了吧,你得到了事件,就在相應的函數裡寫你的處理就可以了,比如,fncEditStop()裡面就可以寫對spread對應cell的值的check,如果出錯了,alert或者在網頁的什麼地方輸出錯誤信息,就是隨便的了。

具體可以截獲的事件就看看fp_clIEnt\fpspread\3_0_2002_2005\htc文件夾下的fpspread.JS腳本吧。

雖然事件挺多的,但是也不是太完全,比如我想動態添加spread的列就不能實現,動態添加行是可以的。


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved