我举个现实中的例子先:
  一个订单明细录入的页面,Grid上有:料品ID,料品名,单位,需求数量,单价,小计,备注等字段,在录入一条明细时,每一列都是允许客户进行修改的,但对于某些字段是需要Postback的,比如料品ID输入后马上PostBack,可以判断料品是否存在,存在的话,可以取到料品名与单位,或者还有当前库存等信息,而有些字段如备注,也可以修改,但是不需要提交。
  这在UtralWebGrid是很容易实现的:
   只要给Grid绑定CellUpdate的服务器端事件,在事件中得到料品ID后获取信息到Grid行中。
UltraWebGrid的客户端放弃PostBack功能!
   但这样的话,每个可以Update的列都会触发此事件,导致备注也被PostBack,这是我们不希望的。
  因此,我们给UltraWebGrid添加客户端的AfterCellUpdateHander的客户端事件,
UltraWebGrid的客户端放弃PostBack功能!
在此客户端脚本中判断此Cell的列名,如果是备注列,则可以使用
    igtbl_cancelPostBack(gridName); //gridName为此Grid的名称
   方法就可以放弃服务器端的事件触发了。类似如下代码:

UltraWebGrid的客户端放弃PostBack功能!    function UltraWebGrid1_AfterCellUpdateHandler(gridName, cellId){
UltraWebGrid的客户端放弃PostBack功能!            
//Add code to handle your event here.
UltraWebGrid的客户端放弃PostBack功能!
            var cell = igtbl_getCellById(cellId);
UltraWebGrid的客户端放弃PostBack功能!            
if(cell.Column.Key!="CompanyName")
UltraWebGrid的客户端放弃PostBack功能!                igtbl_cancelPostBack(gridName);


   使用igtbl_cancelPostBack(gridName);方法给我带来了很大的方便,让我更能自如的控制客户端与服务端的交互。 
 此功能在NetAdvantage 2004 vol 3 与2005 vol 1中都支持!!

相关文章: