JQuery easyUi datagrid 中 editor 增加自定義事件(2)

在easyUi 的datagrid 的 onLoadSuccess:function(data) 函數 中添加即可:

onLoadSuccess:function(data)
            {
            	if(firstLoad)
                {
                	//第一次加載成功後,保存原始數據值
                	orignalData = $.extend(true,{},data);
                }

                //彙總單日填報工作量
                reCalDayTotal();

             	// 重要! 顯示全部編輯狀態並綁定事件監聽
                $.each(data.rows, function(id,rowData){
                	 //任務完成100%, 並且已審覈通過,不能編輯
                   	if(rowData && rowData.status && (rowData.status=='TASK_ASSIGNER_AUDITED' || rowData.status=='TASK_MONITOR_AUDITED') && rowData.finishRate == 100)
                    {
                   		return true;
                    }
                    
                   	var rowIndex = $('#workloadTable').datagrid('getRowIndex', rowData);
                	$('#workloadTable').datagrid('beginEdit', rowIndex);

                    // 重要! 重新設置百分比填報範圍
                    var columnOption = $('#workloadTable').datagrid('getColumnOption',"workRate");
             		columnOption.editor.options.min = rowData.minRate;
             		columnOption.editor.options.max = rowData.maxRate;

             		var editors = $('#workloadTable').datagrid('getEditors', rowIndex);             		
             		var workRateEditor = editors[0]; // 百分比編輯框
                    var workTimeEditor = editors[1]; // 工時編輯框
                    var descEditor = editors[2];     // 完成情況編輯框
                    var delEditor = editors[3];      // 刪除按鈕
                    
                    /***************************** 監聽輸入框值變化   設置  結束**************************************/
                 
                 // 百分比編輯框綁定change方法
                    workRateEditor.target.bind('change', function()
                    {
                        //將本次修改的值更新到rowData的相應列數據中
                        rowData[workRateEditor.field] = $(this).val();
                    });

                 // 工時編輯框綁定change方法
                    workTimeEditor.target.bind('change', function()
                    {
                        //將本次修改的值更新到rowData的相應列數據中
                        rowData[workTimeEditor.field] = $(this).val();
                                
                        $(this).numberbox("fix");
                                
                        reCalDayTotal();
                    });

                  //增加完成情況字數輸入限制
                    descEditor.target.bind("keyup",function()
			        {
	                 		return countChar($(this));
	            	}).bind("change", function()
	            		{
	                 		return countChar($(this));
	            		});
               });
            }

在這段代碼本來很長,我省略了一些,其中綁定了很多事件和監聽,還有每行的相關樣式等。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章