为UltraWebGrid 行中的按钮添加操作确认提示

在项目的开发中应用了Infragistics.WebUI.UltraWebGrid这个控件,并 把其中的两列设置为了“按钮”列,其中的一个按钮是实现页面跳转的功能,不需要提示,而另一列是实现对该行记录的删除功能,需要在删除前显示一个删除确认 提示。经过推敲,找到解决的办法,具体做法如下:

一、在UltraWebGrid的属性中找到:DisplayLayout —> ClientSizeEvents —> ClickCellButtonHandler,点击此处,会出现“Add new handler...”提示,点击这个提示,在出现的对话框中为要添加的客户端事件命名(如:CellButtonClick),点击“OK”按钮。客户 端脚本事件添加成功。

二、切换到UltraWebGrid所在页面的代码视图下,会看到自动添加的如下脚本:

< script id = " Infragistics "  type = " text/javascript " >
<!--
function   CellButtonClick(gridName, cellId) {
    
//Add code to handle your event here.
    
}
//  -->

在脚本方法中添加脚本:

< script id = " Infragistics "  type = " text/javascript " >
<!--
function    CellButtonClick(gridName, cellId) {
    
//Add code to handle your event here.
                     
                     
//分析参数cellId的格式为:grid的ID+"rc_"+行索引+"_"+列索引  (如UltraWebGrid1rc_4_5)
                     //可以用以下方法获取按钮所在的列索引
    var colId = cellId.substring(cellId.indexOf('_')+1);
    colId 
= colId.substring(colId.indexOf('_')+1);
    colId = colId.substring(colId.indexOf('_')+1);
                     
                     
//根据索引的值,为相应列的按钮添加提示
    if(colId==6)
    
{
      
return(!confirm('你确定要删除该报表吗?'));
    }

}
//  -->

经过如上步骤地处理,就可以为Infragistics UltraWebGrid 行中的按钮添加操作确认提示了。如还有其它方法,欢迎探讨。

 

=======================================================================================

后台动态生成CheckBox,使用UltraWebGrid1_InitializeRow事件。

     protected   void  UltraWebGrid1_InitializeRow( object  sender, RowEventArgs e)
    
{
        
if (e.Row.Band.Index == 0)
        
{
            
string str = string.Empty;
            str 
= "<input id='chk" + e.Row.Index + "' type='checkbox' name='chkName" + e.Row.Index + " ' />";
            e.Row.Cells[
0].Text = str;
        }

    }

2. 前台实现对CheckBox的操作。

< script type = " text/javascript " >
function  UltraWebGrid1_ColumnHeaderClickHandler(gridName, columnId, button)
{
    
var oGrid = igtbl_getGridById("UltraWebGrid1");
    
var oRows = oGrid.Rows;
    
var count = oRows.length;
    
//var arr = new Array();

    
for(i=0,j=0;i<count;i++)
    
{
       
var chkID = "chk"+i;
       
var chk = document.getElementById(chkID);
       
if(chk.checked == true)    
       
{
            chk.checked 
= false;  
            
//var row = oRows.getRow(i);  
            //var cell = row.getCell(1); 
            //arr[j] = cell.getValue();   
       }
  
       
else
      
{
           chk.checked 
= true;   
      }
    
   }

}

</ script >
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值