亚洲精品黄色视频在线观看免费资源,亚洲中文字幕无码中文字在线,亚洲视频一区二区三区http://www.tkk7.com/DreamAngel/category/37496.html如果你希望成功,以恒心為良友,以經(jīng)驗(yàn)為參謀,以小心為兄弟,以希望為哨兵。zh-cnSun, 14 Oct 2012 19:13:55 GMTSun, 14 Oct 2012 19:13:55 GMT60jquery常用技巧(整理中)http://www.tkk7.com/DreamAngel/archive/2012/01/21/368812.html飛翔天使飛翔天使Sat, 21 Jan 2012 03:55:00 GMThttp://www.tkk7.com/DreamAngel/archive/2012/01/21/368812.htmlhttp://www.tkk7.com/DreamAngel/comments/368812.htmlhttp://www.tkk7.com/DreamAngel/archive/2012/01/21/368812.html#Feedback0http://www.tkk7.com/DreamAngel/comments/commentRss/368812.htmlhttp://www.tkk7.com/DreamAngel/services/trackbacks/368812.html獲取table某一列的值
$(this).children("td").eq(0)
$(this).children("td:eq(0)")

飛翔天使 2012-01-21 11:55 發(fā)表評(píng)論
]]>
jquery,js上移下移http://www.tkk7.com/DreamAngel/archive/2012/01/19/368734.html飛翔天使飛翔天使Thu, 19 Jan 2012 02:57:00 GMThttp://www.tkk7.com/DreamAngel/archive/2012/01/19/368734.htmlhttp://www.tkk7.com/DreamAngel/comments/368734.htmlhttp://www.tkk7.com/DreamAngel/archive/2012/01/19/368734.html#Feedback0http://www.tkk7.com/DreamAngel/comments/commentRss/368734.htmlhttp://www.tkk7.com/DreamAngel/services/trackbacks/368734.html<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>無(wú)標(biāo)題文檔</title>
<style type="text/css">
#wrap
{margin:20px auto;width: 500px;}
#wrap li
{list-style:none;padding:5px;
    font
: 12px/1.5 tahoma,arial,"宋體",sans-serif;
}
</style>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
//上移
function UpLi(obj)
{
 
var onthis = $(obj).parent();

 
var getup = $(obj).parent().prev();
 $(getup).before(onthis);
}
//下移
function DownLi(obj)
{
 
var onthis = $(obj).parent();
 
var getdown = $(obj).parent().next();
 $(getdown).after(onthis);
}
//刪除
function RemoveLi(obj){
 $(obj).parent().remove();
}
</script>
</head>

<body>
 
<div id="wrap">
     
<ul>
            
<li>順序A  <href="#" onclick="return UpLi(this);">上移</a>  <href="#" onclick="return DownLi(this);">下移</a></li>
            
<li>順序B  <href="#" onclick="return UpLi(this);">上移</a>  <href="#" onclick="return DownLi(this);">下移</a></li>
            
<li>順序C  <href="#" onclick="return UpLi(this);">上移</a>  <href="#" onclick="return DownLi(this);">下移</a> <href="#" onclick="return RemoveLi(this);"> 刪除</a></li>
            
<li>順序D  <href="#" onclick="return UpLi(this);">上移</a>  <href="#" onclick="return DownLi(this);">下移</a> <href="#" onclick="return RemoveLi(this);"> 刪除</a></li>
            
<li>順序E  上移  下移</li>
            
<li>順序F  上移  下移</li>
        
</ul>
    
</div>
</body>
</html>

飛翔天使 2012-01-19 10:57 發(fā)表評(píng)論
]]>
FCKeditor常見(jiàn)問(wèn)題(2012.10.13更新)http://www.tkk7.com/DreamAngel/archive/2011/10/18/361527.html飛翔天使飛翔天使Tue, 18 Oct 2011 08:01:00 GMThttp://www.tkk7.com/DreamAngel/archive/2011/10/18/361527.htmlhttp://www.tkk7.com/DreamAngel/comments/361527.htmlhttp://www.tkk7.com/DreamAngel/archive/2011/10/18/361527.html#Feedback0http://www.tkk7.com/DreamAngel/comments/commentRss/361527.htmlhttp://www.tkk7.com/DreamAngel/services/trackbacks/361527.htmlfck_docprops.html中出現(xiàn)start tag ([option]) not closed
在fck_docprops.html中將如下語(yǔ)句:“
<option value='<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">'>HTML 4.01 Transitional</option>”,改為:
<option value='&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"&gt;'>HTML 4.01 Transitional</option>

表單提交時(shí)中文亂碼
request.setCharacterEncoding("gb2312");

上傳中文文件名的文件會(huì)出現(xiàn)亂碼
分別對(duì)SimpleUploaderServlet.java和ConnectorServlet.java做如下修改:
找到2個(gè)程序文件中的DiskFileUpload upload = new DiskFileUpload();,在該行下面添加upload.setHeaderEncoding("UTF-8");

添加字體
默認(rèn)情況下,FCKEditor在進(jìn)行文本編輯時(shí),無(wú)法使用中文字體。
(1)打開(kāi) fckconfig.js 文件,將FCKConfig.FontNames   = 'Arial;Comic Sans MS;Courier New;Tahoma;Times New Roman;Verdana' ;修改為:FCKConfig.FontNames   = '宋體;黑體;幼圓;楷體_GB2312;仿宋_GB2312;Arial;Comic Sans MS;Courier New;Tahoma;Times New Roman;Verdana' ;
(2)打開(kāi)editor/css/fck_editorarea.css 文件,將font-family: Arial, Verdana, sans-serif;修改為:font-family: 宋體, 黑體, 幼圓, 楷體, 仿宋, Arial, Verdana, sans-serif;

XML request error 404
將fckconfig.js文件中的
var _FileBrowserLanguage = ‘php’ ; // asp | aspx | cfm | lasso | perl | php | py
var _QuickUploadLanguage = ‘php’ ; // asp | aspx | cfm | lasso | perl | php | py
改成
var _FileBrowserLanguage = ‘jsp’ ; // asp | aspx | cfm | lasso | perl | php | py
var _QuickUploadLanguage = ‘jsp’ ; // asp | aspx | cfm | lasso | perl | php | py  

圖片預(yù)覽中的英文如何去掉
在fckeditor/editor/dialog/fck_image下面的fck_image_preview.html中把英文去掉就可以了。
還有圖片上傳成功后彈出的提示框里面是英文,要想改成中文,在fckeditor/editor/dialog/fck_image下面的fck_image.js里面修改就OK了

中文文件在瀏覽器引用時(shí)會(huì)以u(píng)ri格式(%)出現(xiàn)
在fckeditor/editor/filemanager/browser/default下面的fck_image_preview.html中把window.top.opener.SetUrl( encodeURI( fileUrl ).replace( '#', '%23' ) ) ;改為window.top.opener.SetUrl( fileUrl ) ;

Times附近有語(yǔ)法錯(cuò)誤
http://www.tkk7.com/wangbbs2007/articles/298057.html
即“TImes……ROMAN”字體格式錯(cuò)誤,這個(gè)錯(cuò)誤是很多網(wǎng)頁(yè)在線編輯器(如:FCK,FreeTextBox)的BUG
三種解決方法:
一、把要發(fā)布的內(nèi)容粘貼到記事本里面,然后在粘貼到網(wǎng)頁(yè)在線編輯器里面,這樣可以避免格式錯(cuò)誤。
二、以FreeTextBox為例,將FreeTextBox1.Text替換為FreeTextBox1.Text.Replace("'", "''")問(wèn)題就可以得到解決,其他網(wǎng)頁(yè)編輯器的方法也是一樣的。
三、提供一種暫時(shí)的Client端的解決辦法:發(fā)布內(nèi)容時(shí),會(huì)提示是否刪除word格式,選“是”,并選擇將Css,字體格式全部清除。
一種一勞永逸的辦法,將FCKEditor1.value替換為FCKEDitor1.value.Replace("'","'")問(wèn)題就可以解決,例如content = content.Replace("'", "''");

非空驗(yàn)證
<script type="text/javascript" src="fckeditor/fckeditor.js"></script>
<script type="text/javascript">
function checkZSForm(){
    
var content = FCKeditorAPI.GetInstance("content").GetXHTML(true);
          
if(rbContent == null || rbContent == ""){
            alert(
"請(qǐng)輸入內(nèi)容");
        
return false;
    }
    document.form1.submit();    
//不為空則提交表單
}
</script>
content即FCK的實(shí)例名(instanceName)
頁(yè)面中的表單內(nèi)容:
<FCK:editor id="content" basePath="FCKeditor/" height="500">
</FCK:editor>

內(nèi)容重置
function reset_fck(){
    
//form1.reset();
    FCKeditorAPI.GetInstance("content").EditorDocument.body.innerHTML="";
}
另外,fck工具欄第4個(gè)按鈕,“新建”相當(dāng)于“清空”。

添加刪除上傳到服務(wù)器上的文件(圖片可預(yù)覽)功能
參考:http://www.cnblogs.com/Ghost-Chow/archive/2009/10/15/1584052.html

修改:fckeditor/editor/filemanager/browser/default/frmresourceslist.html
在body區(qū)域增加如下代碼:
<div id="showFile" style="float:left; display:none; background-color:#999999"></div>//作用是當(dāng)鼠標(biāo)移到所上傳的文件時(shí)顯示其相關(guān)信息
<iframe id="iframe_del" name="iframe_del" width="0" height="0" scrolling="no"></iframe>//作用是供我們刪除上傳文件時(shí)做動(dòng)作響應(yīng)窗口,即是將刪除動(dòng)作在iframe中運(yùn)行,目的是實(shí)現(xiàn)偽無(wú)刷新刪除效果
<div id="body_content"></div>//作用是顯示上傳文件及文件夾列表
(1) 在js代碼區(qū)域中加入:
//顯示文件顯示層
function showDiv(fileUrl)
{
 
var name = fileUrl;
 
//獲取文件類型
 var suffix = name.substring(name.lastIndexOf(".")+1);
 
var div = document.getElementById("showFile");
 div.content 
= "";
 div.style.position 
= "absolute";
 div.content += "<table width='256' border='0' cellpadding='3' cellspacing='1' bgcolor='#737357'><tbody><tr><td height='23' align='left' bgcolor='#c7c78f'><table width='100%' height='100%' border='0' cellpadding='0' cellspacing='0'><tbody><tr><td width='47%'>&nbsp;<a href='javascript:void(0);' onClick='hiddenDiv();'><font color='#000000' style='text-decoration:none;'>關(guān)閉</font></a></td><td width='53%' align='right'><a href='javascript:void(0);' onClick='if (!confirm(\"確定要?jiǎng)h除此文件夾及其子目錄嗎?\")){return false;}else{DelFile(\""+fileUrl+"\");}'><font color='#000000' style='text-decoration:none;'>刪除</font></a>&nbsp;</td></tr></tbody></table></td></tr>";
 if(suffix == 'gif' || suffix == 'jpg' || suffix == 'jpeg' || suffix == 'bmp' || suffix == 'png'){
  div.content 
+= "<tr><td align='center' bgcolor='#c7c78f'><img src='"+fileUrl+"' onload='if(this.width>250) this.width=250' style='margin:3px;'></td></tr>";
 }
else{
  div.content 
+= "<tr><td height='35' align='center' bgcolor='#c7c78f'><strong>該類型不能預(yù)覽</strong></td></tr>";
 }
 div.content 
+="</tbody></table>";
 div.innerHTML 
= div.content;
 div.style.display 
="";
 div.style.top 
= event.y+document.body.scrollTop+10;
 div.style.left
= event.x+document.body.scrollLeft+30;
}
//隱藏文件顯示層
function hiddenDiv()
{
 
var div = document.getElementById("showFile");
 div.style.display
="none";
}
//====Add by BaoSight kwan==2011-03-18==start====
//
這里添加兩個(gè)function,用于提交刪除操作,在刪除成功后刷新頁(yè)面
function DelFile(fileUrl){
    
if ( fileUrl == null )
        
return;
    oConnector.SendCommand( 'DelFile', 'FileName
=+ encodeURI(encodeURI(fileUrl)) , DelFileCallBack ) ;
}
function DelFileCallBack(fckXml ){
    
if (oConnector.CheckError(fckXml ) == 0 )
    window.parent.frames['frmResourcesList'].Refresh() ;
}
//====Add by BaoSight kwan==2011-03-18== end ====
(2)  修改本頁(yè)面原有js
oListManager.Clear = function()
{
    
//document.body.innerHTML = '' ;原有
     hiddenDiv();//修改的
     document.getElementById("body_content").innerHTML = '';//修改的
}

oListManager.GetFolderRowHtml 
= function( folderName, folderPath )
{
    
// Build the link to view the folder.
    var sLink = '<a href="#" onclick="OpenFolder(\'' + ProtectPath( folderPath ) + '\');return false;">' ;

    
return '<tr>+
            '
<td width="16">+
                sLink 
+
                '
<img alt="" src="images/Folder.gif" width="16" height="16" border="0"><\/a>+
            '
<\/td><td nowrap colspan="2">&nbsp;' +
                sLink 
+
                folderName 
+
                '
<\/a>+
        '
<\/td><td align="center" width="10%"><a href="#" onclick="if (!confirm(\'確定要?jiǎng)h除此文件夾及其子目錄嗎?\')){return false;}else{DelFile(\''+ProtectPath( folderPath )+ '\');}">delete</a><\/td><\/tr>' ;
        
//====Add by BaoSight kwan==2011-03-18==start====
        //此function將在頁(yè)面展示一級(jí)文件夾,這里添加執(zhí)行刪除文件夾的鏈接,就是添加一列<TD>
        //【】標(biāo)記當(dāng)中為添加內(nèi)容(使用時(shí)將標(biāo)記去掉即可)    
        //====Add by BaoSight kwan==2011-03-18== end ====
}

oListManager.GetFileRowHtml 
= function( fileName, fileUrl, fileSize )
{
    
// Build the link to view the folder.
    //var sLink = '<a href="#" onclick="OpenFile(\'' + ProtectPath( fileUrl ) + '\');return false;">' ;
var sLink = '<a href="#" onmouseover="showDiv(\''+ProtectPath(fileUrl)+'\');" onclick="OpenFile(\''+ProtectPath( fileUrl )+'\'); return false;">';//修改后


    
// Get the file icon.
    var sIcon = oIcons.GetIcon( fileName ) ;

    
return '<tr>+
            '
<td width="16">+
                sLink 
+
                '
<img alt="" src="images/icons/' + sIcon + '.gif" width="16" height="16" border="0"><\/a>+
            '
<\/td><td>&nbsp;' +
                sLink 
+
                fileName 
+
                '
<\/a>+
            '
<\/td><td align="right" nowrap>&nbsp;' +
                fileSize 
+
                ' KB' 
+'<\/td><td align="center" width="10%"><a href="#" onclick="if (!confirm(\'確定要?jiǎng)h除此文件嗎?\')){return false;}else{DelFile(\''+ProtectPath( fileUrl )+ '\');}">delete</a><\/td><\/tr>' ;
        
//====Add by BaoSight kwan==2011-03-18==start====
        //此function將在頁(yè)面展示與一級(jí)文件夾同級(jí)的文件,這里添加執(zhí)行刪除文件的鏈接,同樣是添加一列<TD>
        //【】標(biāo)記當(dāng)中為添加內(nèi)容(使用時(shí)將標(biāo)記去掉即可)    
        //====Add by BaoSight kwan==2011-03-18== end ====
}

function Refresh()
{
    
//LoadResources( oConnector.ResourceType, oConnector.CurrentFolder ) ;//原有
     hiddenDiv();//所作修改,為了刷新列表時(shí)默認(rèn)隱藏文件顯示層
     LoadResources( oConnector.ResourceType, oConnector.CurrentFolder );
}

修改函數(shù):GetFoldersAndFilesCallBack 找到:
//document.body.innerHTML = oHtml.ToString() ;//原有
document.getElementById("body_content").innerHTML = oHtml.ToString() ;//修改后

FCKeditor添加刪除功能.rar

另類技巧
修改Fckeditor圖片上傳功能:http://itxiaoqiang.iteye.com/blog/644756
導(dǎo)入word到Fckeditor:http://itxiaoqiang.iteye.com/blog/643684
支持中文圖片名稱方案:http://windywindy.iteye.com/blog/551458



飛翔天使 2011-10-18 16:01 發(fā)表評(píng)論
]]>
如何給Ajax的回調(diào)函數(shù)傳參數(shù)? http://www.tkk7.com/DreamAngel/archive/2009/10/15/298456.html飛翔天使飛翔天使Thu, 15 Oct 2009 12:46:00 GMThttp://www.tkk7.com/DreamAngel/archive/2009/10/15/298456.htmlhttp://www.tkk7.com/DreamAngel/comments/298456.htmlhttp://www.tkk7.com/DreamAngel/archive/2009/10/15/298456.html#Feedback0http://www.tkk7.com/DreamAngel/comments/commentRss/298456.htmlhttp://www.tkk7.com/DreamAngel/services/trackbacks/298456.htmlfunction GetNewWFLineIDs(count,newLineIds)
{
          
var url = '../servlet/net.blogjava.lzqdiy.TestAjax';
          
var cmd='cmd=GetNewWFLineID'; 
          
var param='param=<Params><IDCount>'+count+'</IDCount></Params>';
        getReqObject();
         
if(req)
         
{  
             req.open(
"POST",url, false);
             req.onreadystatechange
=function(){saveLineIDs(newLineIds);}//給回調(diào)函數(shù)傳參數(shù)
             req.setRequestHeader("Content-Type""application/x-www-form-urlencoded");
             req.setrequestheader(
"cache-control","no-cache"); 
             
var param1=encodeURI(cmd+"&"+param); 
             
var param2=encodeURI(param1); 
             req.send(param2);
        }
 
}
回調(diào)函數(shù)如下:
function saveLineIDs(newLineIds)
{
        
if (req.readyState == 4
        

           
if (req.status == 200
            
{               
                
var res=req.responseXML;
                
var ids=res.getElementsByTagName("WFLineID"); 
               
                
for(var i=0;i<ids.length;i++)
                
{
                   
if(isIE)
                    
{
                        newLineIds.push(ids[i].childNodes[
0].data);
                    }

                    
if(isFirefox)
                    
{
                        newLineIds.push(ids[i].childNodes[
0].nodeValue);
                    }

               }

           }

       }

}


飛翔天使 2009-10-15 20:46 發(fā)表評(píng)論
]]>
ExtJS的tbar布局http://www.tkk7.com/DreamAngel/archive/2009/07/03/285355.html飛翔天使飛翔天使Fri, 03 Jul 2009 07:08:00 GMThttp://www.tkk7.com/DreamAngel/archive/2009/07/03/285355.htmlhttp://www.tkk7.com/DreamAngel/comments/285355.htmlhttp://www.tkk7.com/DreamAngel/archive/2009/07/03/285355.html#Feedback0http://www.tkk7.com/DreamAngel/comments/commentRss/285355.htmlhttp://www.tkk7.com/DreamAngel/services/trackbacks/285355.htmltbar: [
            blockedtype,'-',{text:'封堵驗(yàn)證',handler:do_checkBlockedVideok,iconCls:'block'}
            ,'-',
            {text:'刷新',iconCls:'refresh'
            },'-',new Ext.Toolbar.Fill(),'-',
            {text:'編輯',iconCls:'add'
            },'-',
            {text:'導(dǎo)出Excel','-','已封堵數(shù)量:[0] 未封堵數(shù)量:[0] 總數(shù)量:[0]'
            ]

這里注意下 Ext.Toolbar.Fill()
充滿組件把'導(dǎo)出Excel'頂?shù)阶钣疫?/p>

CSS:
<style type="text/css">
.add {
            background-image:url(../icons/add.gif) !important;
        }
        .delete {
            background-image:url(../icons/delete.gif) !important;
        }
        .save {
            background-image:url(../icons/save.gif) !important;
        }
        .block {
            background-image:url(../icons/block.gif) !important;
        }
        .refresh {
            background-image:url(../icons/refresh.gif) !important;
        }
        .in {
            background-image:url(../icons/in.gif) !important;
        }
        .out {
            background-image:url(../icons/out.gif) !important;
        }
</style>



飛翔天使 2009-07-03 15:08 發(fā)表評(píng)論
]]>
Ext框架的Grid使用介紹 http://www.tkk7.com/DreamAngel/archive/2009/06/28/284482.html飛翔天使飛翔天使Sun, 28 Jun 2009 07:37:00 GMThttp://www.tkk7.com/DreamAngel/archive/2009/06/28/284482.htmlhttp://www.tkk7.com/DreamAngel/comments/284482.htmlhttp://www.tkk7.com/DreamAngel/archive/2009/06/28/284482.html#Feedback0http://www.tkk7.com/DreamAngel/comments/commentRss/284482.htmlhttp://www.tkk7.com/DreamAngel/services/trackbacks/284482.htmlExt2.0是一個(gè)JS框架,它的Grid控件和其它可以顯示數(shù)據(jù)的控件,能夠支持多種數(shù)據(jù)類型,如二維數(shù)組、Json數(shù)據(jù)和XML數(shù)據(jù),甚至包括我們自定義的數(shù)據(jù)類型。Ext為我們提供了一個(gè)橋梁Ext.data.Store,通過(guò)它我們可以把任何格式的數(shù)據(jù)轉(zhuǎn)化成grid可以使用的形式,這樣就不需要為每種數(shù)據(jù)格式寫一個(gè)grid的實(shí)現(xiàn)了。

首先,一個(gè)表格應(yīng)該有列定義,即定義表頭ColumnModel:
// 定義一個(gè)ColumnModel,表頭中有四列
var cm = new Ext.grid.ColumnModel([
     {header:
'編號(hào)',dataIndex:'id'
},
     {header:
'性別',dataIndex:'sex'
},
     {header:
'名稱',dataIndex:'name'
},
     {header:
'描述',dataIndex:'descn'
}
]);
cm.defaultSortable
= true
;
    該ColumnModel定義了表格的四個(gè)列,其每列的名稱和對(duì)應(yīng)的數(shù)據(jù)鍵。請(qǐng)注意defaultSortable屬性,即為每個(gè)列都安上一個(gè)可以排序的功能。如果只想某些列舉有該功能,可以設(shè)置:
{header:'編號(hào)',dataIndex:'id',Sortable:true},

現(xiàn)在就來(lái)看看這個(gè)Ext.data.Store是如何轉(zhuǎn)換三種數(shù)據(jù)的。

1.二維數(shù)組:
// ArrayData
var data = [
     [
'1','male','name1','descn1'
],
     [
'2','male','name1','descn2'
],
     [
'3','male','name3','descn3'
],
     [
'4','male','name4','descn4'
],
     [
'5','male','name5','descn5'
]
];
// ArrayReader
var ds = new Ext.data.Store({
     proxy:
new
Ext.data.MemoryProxy(data),
     reader:
new
Ext.data.ArrayReader({}, [
        {name:
'id',mapping: 0
},
         {name:
'sex',mapping: 1
},
         {name:
'name',mapping: 2
},
         {name:
'descn',mapping: 3
}
     ])
});
ds.load();
ds要對(duì)應(yīng)兩個(gè)部分:proxy和reader。proxy告訴我們從哪里獲得數(shù)據(jù),reader告訴我們?nèi)绾谓馕鲞@個(gè)數(shù)據(jù)。
現(xiàn)在用的是Ext.data.MemoryProxy,它將內(nèi)存中的數(shù)據(jù)data作為參數(shù)傳遞。Ext.data.ArrayReader專門用來(lái)解析數(shù)組,并且告訴我們它會(huì)按照定義的規(guī)范進(jìn)行解析,每行按順序讀取四個(gè)數(shù)據(jù),第一個(gè)叫id,第二個(gè)叫sex,第三個(gè)叫name,第四個(gè)descn。這些是跟cm定義中的dataIndex對(duì)應(yīng)的。這樣cm就知道哪列應(yīng)該顯示那條數(shù)據(jù)了。
mapping屬性用于標(biāo)記data中的讀取后的數(shù)據(jù)與標(biāo)頭的映射關(guān)系,一般是不用設(shè)置的。但如果我們想讓sex的數(shù)據(jù)中name欄中出現(xiàn),可以設(shè)置mapping值。即id的mapping為2,后者為0。
記得要執(zhí)行一次ds.load(),對(duì)數(shù)據(jù)進(jìn)行初始化。

數(shù)據(jù)的顯示顯得非常簡(jiǎn)單:
HTML文件:
<div id='grid'></div>
JS文件:
var grid = new Ext.grid.GridPanel({
     el:
'grid'
,
     ds: ds,
     cm: cm
});
grid.render();

其顯示結(jié)果為:

2.如何在表格中添加CheckBox呢?

var sm = new Ext.grid.CheckboxSelectionModel();
var cm = new Ext.grid.ColumnModel([
    new Ext.grid.RowNumberer(),//自動(dòng)行號(hào)
    sm,//添加的地方

    {header:'編號(hào)',dataIndex:'id'},
    {header:'性別',dataIndex:'sex'},
    {header:'名稱',dataIndex:'name'},
    {header:'描述',dataIndex:'descn'}
]);

var grid = new Ext.grid.GridPanel({
    el: 'grid3',
    ds: ds,
    cm: cm,
    sm: sm,//添加的地方
    title: 'HelloWorld'
});

3. 如何做Grid上觸發(fā)事件呢?
下面是一個(gè)cellclick事件
grid.addListener('cellclick', cellclick);
function cellclick(grid, rowIndex, columnIndex, e) {
    var record = grid.getStore().getAt(rowIndex);   //Get the Record
    var fieldName = grid.getColumnModel().getDataIndex(columnIndex); //Get field name
    var data = record.get(fieldName);
    Ext.MessageBox.alert('show','當(dāng)前選中的數(shù)據(jù)是'+data);
}

4.如何做Grid中做出快捷菜單效果:
grid.addListener('rowcontextmenu', rightClickFn);//右鍵菜單代碼關(guān)鍵部分
var rightClick = new Ext.menu.Menu({
    id:'rightClickCont', //在HTML文件中必須有個(gè)rightClickCont的DIV元素
    items: [
        {
            id: 'rMenu1',
            handler: rMenu1Fn,//點(diǎn)擊后觸發(fā)的事件
            text: '右鍵菜單1'
        },
        {
            //id: 'rMenu2',
            //handler: rMenu2Fn,
            text: '右鍵菜單2'
        }
    ]
});
function rightClickFn(grid,rowindex,e){
    e.preventDefault();
    rightClick.showAt(e.getXY());
}
function rMenu1Fn(){
   Ext.MessageBox.alert('right','rightClick');
}
其Grid如下:

5.如何將一列中的數(shù)據(jù)根據(jù)要求進(jìn)行改變呢?
比如說(shuō)性別字段根據(jù)其male或female改變顯示的顏色,這種ColumnMode中設(shè)計(jì):
var cm = new Ext.grid.ColumnModel([
    new Ext.grid.RowNumberer(),
    sm,
    {header:'編號(hào)',dataIndex:'id'},
    {header:'性別',dataIndex:'sex',renderer:changeSex},
    {header:'名稱',dataIndex:'name'},
    {header:'描述',dataIndex:'descn'}
]);
cm.defaultSortable = true;

function changeSex(value){
    if (value == 'male') {
        return "<span style='color:red;font-weight:bold;'>紅男</span>";
    } else {
        return "<span style='color:green;font-weight:bold;'>綠女</span>";
    }
}

其它兩種數(shù)據(jù)的Grid顯示是相同的,其不同之處在于數(shù)據(jù)獲取的過(guò)程:

6.Json數(shù)據(jù)
至于這種數(shù)據(jù)的類型請(qǐng)大家自己看Ajax的書(shū)籍:

//JsonData
var data = {
    'coders': [
        { 'id': '1', 'sex': 'male', 'name':'McLaughlin', 'descn': 'brett@newInstance.com' },
        { 'id': '2', 'sex': 'male','name':'Hunter', 'descn': 'jason@servlets.com' },
        { 'id': '3', 'sex': 'female','name':'Harold', 'descn': 'elharo@macfaq.com' },
        { 'id': '4', 'sex': 'male','name':'Harolds', 'descn': 'elhaross@macfaq.com' }
    ],
    'musicians': [
        { 'id': '1', 'name': 'Clapton', 'descn': 'guitar' },
        { 'id': '2', 'name': 'Rachmaninoff', 'descn': 'piano' }
    ]
}
//ds使用的MemoryProxy對(duì)象和JsonReader對(duì)象
var ds = new Ext.data.Store({
        proxy: new Ext.data.MemoryProxy(data),
        reader: new Ext.data.JsonReader({root: 'coders'}, [
            {name: 'id'},
            {name: 'sex'},
            {name: 'name'},
            {name: 'descn'}
        ])
    });
ds.load();

var grid = new Ext.grid.GridPanel({
    el: 'grid3',
    ds: ds,
    cm: cm,
    sm: sm,
    title: 'HelloWorld',
    autoHeight: true//一定要寫,否則顯示的數(shù)據(jù)會(huì)少一行
});
grid.render();

7.使用XML數(shù)據(jù):
注意,讀取XML數(shù)據(jù)必須在服務(wù)器上進(jìn)行。
XML數(shù)據(jù)test.xml的內(nèi)容:
<?xml version="1.0" encoding="UTF-8"?>
<dataset>
     <results>2</results>
     <item>
           <id>1</id>
           <sex>male</sex>
           <name>Taylor</name>
           <descn>Coder</descn>
     </item>
</dataset>var ds3 = new Ext.data.Store({
    url: 'test.xml',   //XML數(shù)據(jù)
    reader: new Ext.data.XmlReader({record: 'item'}, [ //使用XmlReader對(duì)象
        {name: 'id'},
        {name: 'sex'},
        {name: 'name'},
        {name: 'descn'}
    ])
});

8.從服務(wù)器獲取數(shù)據(jù)和數(shù)據(jù)翻頁(yè)控件
從一個(gè)服務(wù)器文件,如ASP、JSP或Servlet中獲得數(shù)據(jù)二維Array、JSON或XML數(shù)據(jù),也可以被Ext讀取,并被Grid顯示:
服務(wù)器文件data.asp:
<%
    start = cint(request("start"))
    limit = cint(request("limit"))

    dim json
    json=cstr("{totalProperty:100,root:[")
   
    for i = start to limit + start-1
        json =json + cstr("{'id':'") +cstr(i) + cstr("','name':'name") + cstr(i) + cstr("','descn':'descn") + cstr(i) + cstr("'}")
        if i <> limit + start - 1 then
            json =json + ","
        end if
    next
    json = json +"]}"
    response.write(json)
%>

我們可以看到,這個(gè)頁(yè)面會(huì)根據(jù)傳入的start和limit的不同,返回不同的數(shù)據(jù),其實(shí)質(zhì)是個(gè)分頁(yè)的代碼。下面是start=0,limit=10的JSON數(shù)據(jù):
{totalProperty:100,root:[{'id':'0','name':'name0','descn':'descn0'},{'id':'1','name':'name1','descn':'descn1'},{'id':'2','name':'name2','descn':'descn2'},{'id':'3','name':'name3','descn':'descn3'},{'id':'4','name':'name4','descn':'descn4'},{'id':'5','name':'name5','descn':'descn5'},{'id':'6','name':'name6','descn':'descn6'},{'id':'7','name':'name7','descn':'descn7'},{'id':'8','name':'name8','descn':'descn8'},{'id':'9','name':'name9','descn':'descn9'}]}

我們使用分頁(yè)控件來(lái)控制Grid的數(shù)據(jù):
Ext.onReady(function(){
    var sm = new Ext.grid.CheckboxSelectionModel();
   
    var cm = new Ext.grid.ColumnModel([
        new Ext.grid.RowNumberer(),
        sm,
        {header:'編號(hào)',dataIndex:'id'},
        {header:'性別',dataIndex:'sex'},
        {header:'名稱',dataIndex:'name'},
        {header:'描述',dataIndex:'descn'}
    ]);
    cm.defaultSortable = true;

    var ds = new Ext.data.Store({
        proxy: new Ext.data.HttpProxy({url:'data.asp'}),
        reader: new Ext.data.JsonReader({
            totalProperty: 'totalProperty',
            root: 'root'
        }, [
            {name: 'id'},
            {name: 'name'},
            {name: 'descn'}
        ])
    });
    ds.load({params:{start:0,limit:10}});
   
    var grid = new Ext.grid.GridPanel({
        el: 'grid3',
        ds: ds,
        cm: cm,
        sm: sm,
        title: 'ASP->JSON',
        bbar: new Ext.PagingToolbar({
            pageSize: 10,
            store: ds,
            displayInfo: true,
            displayMsg: '顯示第 {0} 條到 {1} 條記錄,一共 {2} 條',
            emptyMsg: "沒(méi)有記錄"
        }),
        tbar: new Ext.PagingToolbar({
            pageSize: 10,
            store: ds,
            displayInfo: true,
            displayMsg: '顯示第 {0} 條到 {1} 條記錄,一共 {2} 條',
            emptyMsg: "沒(méi)有記錄"
        })
    });
    grid.render();

})

10.如何在Grid的上方添加按鈕呢?
添加按鈕的關(guān)鍵之處在于tbar或bbar屬性設(shè)置Toolbar工具條:
var grid = new Ext.grid.GridPanel({
    el: 'grid3',
    ds: ds,
    cm: cm,
    sm: sm,
    title: 'HelloWorld',
    tbar: new Ext.Toolbar({
        items:[
                {
                    id:'buttonA'
                    ,text:"Button A"
                    ,handler: function(){ alert("You clicked Button A"); }
                }
                ,
                new Ext.Toolbar.SplitButton({})
                ,{
                    id:'buttonB'
                    ,text:"Button B"
                    ,handler: function(){ alert("You clicked Button B"); }
                }
                ,
                '-'
                ,{
                    id:'buttonc'
                    ,text:"Button c"
                }
            ]
        })

});

11.將GridPanel放入一個(gè)Panel或TabPanel中
var tabs = new Ext.TabPanel({
    collapsible: true
    ,renderTo: 'product-exceptions'
    ,width: 450
    ,height:400
    ,activeTab: 0
    ,items:[
        {
            title: 'Unmatched'
        },{
            title: 'Matched'
        }
    ]
});
tabs.doLayout();

var panel = new Ext.Panel({
    renderTo: 'panel',
    title:'panel',
    collapsible:true,
    width:450,
    height:400,
    items:[grid] //管理grid
});

Panel必須有DIV存在。其包含的Component有items管理。



飛翔天使 2009-06-28 15:37 發(fā)表評(píng)論
]]>
Extjs使用教程(整理中)http://www.tkk7.com/DreamAngel/archive/2009/04/01/263429.html飛翔天使飛翔天使Wed, 01 Apr 2009 12:21:00 GMThttp://www.tkk7.com/DreamAngel/archive/2009/04/01/263429.htmlhttp://www.tkk7.com/DreamAngel/comments/263429.htmlhttp://www.tkk7.com/DreamAngel/archive/2009/04/01/263429.html#Feedback0http://www.tkk7.com/DreamAngel/comments/commentRss/263429.htmlhttp://www.tkk7.com/DreamAngel/services/trackbacks/263429.htmlTree的例子
 1Ext.onReady(function() {
 2            var json = [{
 3                        'text' : 'A',
 4                        'id' : 'a',
 5                        'leaf' : false,
 6                        'children' : [{
 7                                    'text' : 'A1',
 8                                    'id' : 'a1',
 9                                    'leaf' : false,
10                                    'children' : [{
11                                                'text' : 'A11',
12                                                'id' : 'a11',
13                                                'leaf' : true
14                                            }
{
15                                                'text' : 'A12',
16                                                'id' : 'a12',
17                                                'leaf' : true
18                                            }
{
19                                                'text' : 'A13',
20                                                'id' : 'a13',
21                                                'leaf' : true
22                                            }
{
23                                                'text' : 'A14',
24                                                'id' : 'a14',
25                                                'leaf' : true
26                                            }
]
27                                }
{
28                                    'text' : 'A2',
29                                    'id' : 'a2',
30                                    'leaf' : true
31                                }
]
32                    }
{
33                        'text' : 'B1',
34                        'id' : 'b1',
35                        'leaf' : false,
36                        'children' : [{
37                                    'text' : 'B11',
38                                    'id' : 'b11',
39                                    'leaf' : true
40                                }
{
41                                    'text' : 'B11',
42                                    'id' : 'b12',
43                                    'leaf' : false,
44                                    'children' : [{
45                                                'text' : 'B121',
46                                                'id' : 'b121',
47                                                'leaf' : true
48                                            }
]
49                                }
]
50                    }
];
51            var tree = new Ext.tree.TreePanel({
52                        animate : true,
53                        enableDD : false,
54                        loader : new Ext.tree.TreeLoader(),
55                        lines : true,
56                        selModel : new Ext.tree.MultiSelectionModel(),
57                        containerScroll : false
58                    }
);
59
60            var root = new Ext.tree.AsyncTreeNode({
61                        text : 'Autos',
62                        draggable : false,
63                        id : 'source',
64                        children : json
65                    }
);
66
67            tree.setRootNode(root);
68
69            tree.on('click', function(node) {
70                        alert(node.id + "" + node.text);
71                        if (node.leaf == true{
72                            addSelected(node.id, node.text);
73                        }

74                    }
);
75            tree.render(document.body);
76            root.expand();
77
78        }
);
調(diào)用:
<div id="tree"></div>


飛翔天使 2009-04-01 20:21 發(fā)表評(píng)論
]]>
dtree的使用http://www.tkk7.com/DreamAngel/archive/2009/03/25/261887.html飛翔天使飛翔天使Wed, 25 Mar 2009 08:19:00 GMThttp://www.tkk7.com/DreamAngel/archive/2009/03/25/261887.htmlhttp://www.tkk7.com/DreamAngel/comments/261887.htmlhttp://www.tkk7.com/DreamAngel/archive/2009/03/25/261887.html#Feedback1http://www.tkk7.com/DreamAngel/comments/commentRss/261887.htmlhttp://www.tkk7.com/DreamAngel/services/trackbacks/261887.html閱讀全文

飛翔天使 2009-03-25 16:19 發(fā)表評(píng)論
]]>
最簡(jiǎn)單的 AJAX 例子代碼(完整注釋) http://www.tkk7.com/DreamAngel/archive/2009/02/07/253736.html飛翔天使飛翔天使Sat, 07 Feb 2009 13:33:00 GMThttp://www.tkk7.com/DreamAngel/archive/2009/02/07/253736.htmlhttp://www.tkk7.com/DreamAngel/comments/253736.htmlhttp://www.tkk7.com/DreamAngel/archive/2009/02/07/253736.html#Feedback2http://www.tkk7.com/DreamAngel/comments/commentRss/253736.htmlhttp://www.tkk7.com/DreamAngel/services/trackbacks/253736.html 

 1<input type="button" onclick="ajaxTest()" value="AJAX測(cè)試">
 2
 3<input type="button" onclick=" document.getElementById('weather').innerHTML='' " value="隱藏">
 4
 5<script>
 6// 1. 初始化 請(qǐng)求 對(duì)象
 7// Mozilla/Firefox 下的
 8var xmlhttp = new XMLHttpRequest();
 9// IE 下的
10//var xmlhttp=new ActiveXObject("Microsoft.XMLHTTP")
11//alert(xmlhttp);
12
13function ajaxTest() {
14    // 指定要打開(kāi)的頁(yè)面
15    xmlhttp.open("GET""staticpage.html"true);// HTTP 請(qǐng)求的方式, URL, 是否異步
16    // 指定頁(yè)面打開(kāi)完之后要進(jìn)行的操作.
17    xmlhttp.onreadystatechange = mychange;
18    // 開(kāi)始發(fā)起瀏覽請(qǐng)求, Mozilla 必須加 null
19    xmlhttp.send(null);
20}

21
22// 這個(gè)函數(shù)就是每次狀態(tài)改變要調(diào)用的函數(shù)
23function mychange() {
24    // 請(qǐng)求已完成
25    if(xmlhttp.readyState == 4{
26        //alert(xmlhttp.readyState);
27        alert(xmlhttp.responseText);
28        // 更新對(duì)應(yīng)的 HTML 元素里面顯示的內(nèi)容
29    // 根據(jù) ID 引用頁(yè)面里面的元素 document.getElementById(元素名)
30    document.getElementById('weather').innerHTML = xmlhttp.responseText;
31    }

32}

33
</script>
34
35<div id="weather"></div>


飛翔天使 2009-02-07 21:33 發(fā)表評(píng)論
]]>
主站蜘蛛池模板: 无码日韩精品一区二区免费暖暖 | 亚洲成av人影院| sss在线观看免费高清| 亚洲国产成人久久一区久久| 黄色三级三级免费看| 免费大片黄手机在线观看| 免费一级全黄少妇性色生活片| 亚洲av日韩片在线观看| 一级免费黄色大片| 亚洲中文字幕无码久久精品1| 成年免费a级毛片免费看无码| 伊人婷婷综合缴情亚洲五月| 本免费AV无码专区一区| 亚洲国产成人精品无码区在线观看 | 野花香高清视频在线观看免费| 国产亚洲人成无码网在线观看| 国产免费一区二区视频| 亚洲邪恶天堂影院在线观看| 91九色视频无限观看免费| 亚洲国产成a人v在线| 成年女人毛片免费播放视频m| 欧美日韩亚洲精品| 亚洲AV无码一区二区三区国产| 久99久无码精品视频免费播放| 国产亚洲av片在线观看16女人| 99re视频精品全部免费| 亚洲精品伊人久久久久| 国产精品国产免费无码专区不卡| 黄色a三级免费看| 亚洲精品无码久久久久去q| 日韩av无码久久精品免费| 亚洲综合久久一本伊伊区| 真实乱视频国产免费观看| 夜夜爽妓女8888视频免费观看| 国产亚洲人成网站观看| 精品免费人成视频app| 亚洲色大成WWW亚洲女子| 亚洲?V乱码久久精品蜜桃| 亚洲日本精品一区二区| 免费看美女裸露无档网站| 粉色视频成年免费人15次|