2008年4月30日星期三

五一了嘛 今儿咱民工高产

今儿咱民工真高产,劳动节了嘛,哈哈

真的希望像我那头猪一样啊,呵呵

睡吧,明天太阳会升起

不对,今天的太阳就要升起 呵呵

咯色的垃圾

咯色的垃圾就应该扔到无人烟的垃圾堆里,爱咋咋地去,省的惹别人一身臭

大家离我远点

怎样让自己平静 沉着

我遇到什么事不能解决就慌乱,心烦,跟他娘的女人来事儿似的,呵呵,据说是

更不用说,几件事压在头上了

能够坦然的,游刃有余的处理来自各方的琐事,可能就是比较高的人了吧,呵呵

想想,周末好像有成为黑色的趋势,听着老婆不时的唠叨妹妹的这啊那啊的,不知如何是好

小系统做了半年多还没结项,开始丧失在大大那的赏识

并且占用了我所有的业余时间,老婆都要跑了

而且老扯票撒谎的出去,心都虚了,每次要编个瞎话跟他娘的下地狱似的,痛苦

太嫩....

我真的变了吗

认识我的人大都说我变了

我难以判定,好像是变了,变怎么了?不知道,大多说我变垃圾了

开始时,看电视也好,电影也好,故事也好,两个人吵架,大都是因为互相不理解,有未言明的误会,吵啊吵的不可开交,甚至不可挽回,那时我就告诉自己,遇到这样的事一定要,立刻解释清楚,静下心来坦言,消除了误会,让对方理解了,也就好了。而现在,我很不想去解释,想的是如果言明了就没意思了,唉...可能也不能一概而论,可能也要分什么事情,可能也分什么关系的人,有默契的人可能就不用解释

人啊,郁闷而又闲闲的时候就容易胡思乱想。

开始有点讨厌这个公司了

发现如果某人惹你不高兴了,一段时间内,你看他哪都不顺眼,呵呵

北京人儿啊,都那么自信,自信的让人都只能隐形了

只知道让人干活的公司会是什么样?就像老一辈讲求无私奉献,为实现共产而努力奋斗,呵呵,我们得到什么了呢,老一辈还得到精神上的满足,我们连精神上的都没了,加班费都不好好给报了,我日啊,老子是喜欢钱地。

开始羡慕民工了,呵呵,

可咱翅膀还没长硬,忍着吧

学习 学习 学习

心情不好

心情不好时就抽烟,喝酒,可命的抽,昨晚浏览了个电影,韩国的,一帅哥爱喝酒抽烟,得了肝硬化,放下身边的工作,妈妈,女友,去疗养院了。呵呵,难道韩国有这样的规定?在我的世界不知道谁能做到去疗养院,能去医院看看,听医嘱,就是有条件的了。

从地铁出来都十一点了,看着外面一个个摆摊卖玉米的,等活儿的出租车司机,人活着比他妈狗都难。

今天公司聚餐,老总说她别看那么大岁数了,可比我们健康,让我们一定要注意身体,她每周都至少在健身房呆两个小时,呵呵,不是一个阶层的人啊,俺倒想去健身房,俺还没房住呢,咋整...

唉...内外兼忧啊

五一是什么节来着,我日啊

好像从开始上大学开始有五一放假这一说,大学时候的放假忘了都干啥了,只记得刚上大一的第一个十一是自己一个人在宿舍过的,大家都回家了。

毕业后的五一都该成我的受难日了,呵呵

劳动节?

北京的地铁真便宜

今天晚上花2块钱16*2站地,大半个北京了,刚回来,可累死了,还好赶上了末班车,要不就惨了,身上就10块钱,在这里祝她老爷子生日快乐,呵呵,虽然人家用不着...

鸟人

我这么个鸟人,自己都没办法,唉...

懦弱,咯色,孤僻,小人,虚荣,胆怯,庸俗,冷血

2008年4月29日星期二

被忽悠了 呵呵

被忽悠了呵呵,谢谢

啥是法儿
今儿累坏了,上午改那该死的bug,下午急匆匆跑了趟前门,刚到就公司打电话找,真他娘的倒霉,又急急忙忙敢了回来,干活,下班了,打个电话吧,呵呵,才知道原来是被忽悠了一天,唉...啥是法儿,还是那么地,只能怪自己,回家吧,呵呵
对了,今天骑的自行车,发现也不比原来远多少,当初怎么就冲动买了电动车呢,下了班,慢慢悠悠骑回来了,唉...想想会有回家的劲儿,一个人都没有,都是自个作地,受吧。

唉...最近不顺,没啥精神事儿

五一了,呵呵 ,又

2008年4月28日星期一

我怎么觉得我是那么的咯色

郁闷

做了个小活儿弄得我不得安宁,

心里有事儿,不安,做什么都没心情,烦躁

因为需要给人家去部署,跟公司说有事出去,都不好意思了,好多次了,唉,,,

这么点小事搞的我到处撞墙,老婆都跑了,怪我,太咯色,呵呵,

知道她很想让我带她出去逛街,可我真的是没有心思,又不想让她扫兴,就这么不知如何是好的过了两天

她慌慌着五一回家,我确一点心思没有,回家,向来对我没有吸引力,家里人好像也没问过我回不回去

有个哥们儿真是让我烦,格格不入,也不知是我变了,还是他变了,或许是我太敏感了,越来越咯色

妹妹与老婆的中间是我,让我这个不善维和的笨蛋自己在这发霉,好像现在也没什么,只是老婆发发牢骚,感觉有颗定时炸弹在我心中

下午把跟随我征战北京的自行车骑回来了,骑自行车,爽

自己闷在家里发呆,头疼。

我好想过个快乐的周末,好久没有了。都怪自己没能力,太嫩

以前觉得自己挺会小资的,现在怎么这么机械了呢,越来越俗了。

2008年4月27日星期日

向div中插入动画

//elm: div id

//url:flash url

//w:width

//h:height

function insertFlash(elm, url, w, h, id) {
if (!document.getElementById(elm)) return;
var str = '';
str += '<embed width="'+ w +'" height="'+ h +'" src="'+ url +'" quality="autohigh" wmode="opaque" type="application/x-shockwave-flash" plugspace="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" id='+id+'></embed>';
document.getElementById(elm).innerHTML = str;
}

2008年4月22日星期二

去掉字符串中多余的空格

import java.util.regex.Matcher; import java.util.regex.Pattern;
public class Test
{


    public static void main(String arg[])
    {
   
        String s = "abc 123    456";
        System.out.println(s);

        while(true){
       
            int index = s.indexOf(" ");
            if(index > 0){
                s = s.replaceAll(" "," ");
            }else{
                break;
            }
        }
       
        System.out.println(s);
    }

public static String replace(String inputStr, String replaceStr) {
            Pattern p = Pattern.compile(" +");
            Matcher m = p.matcher(inputStr);
            return m.replaceAll(replaceStr);
       }


}

C# 在word文档中复制表格并粘帖到下一页中

object oMissing = System.Reflection.Missing.Value;
            Microsoft.Office.Interop.Word._Application oWord;
            Microsoft.Office.Interop.Word._Document oDoc;
            oWord = new Microsoft.Office.Interop.Word.Application();
            //显示word文档
            oWord.Visible = true;
            //取得word文件模板
            object fileName = System.Windows.Forms.Application.StartupPath + "\\word.doc";
            //根据模板生成一个新文档,相当于另存为
            oDoc = oWord.Documents.Add(ref fileName, ref oMissing,
                            ref oMissing, ref oMissing);

            //复制第一个表格
            oDoc.Tables[1].Select();
            oWord.Selection.Copy();

            //在这里操作表格中的文本
            oDoc.Tables[1].Cell(1, 1).Range.Text = "这是第一个表格";

            //下一页
            object mymissing = System.Reflection.Missing.Value;
            object myunit = Microsoft.Office.Interop.Word.WdUnits.wdStory;
            oWord.Selection.EndKey(ref myunit, ref mymissing);
            object pBreak = (int)Microsoft.Office.Interop.Word.WdBreakType.wdPageBreak;
            oWord.Selection.InsertBreak(ref pBreak);

            //粘贴第一个表格
            oWord.Selection.Paste();

            oDoc.Tables[2].Cell(1, 1).Range.Text = "这是第二个表格";

2008年4月21日星期一

oracle 启动 停止服务bat脚本


net start OracleDBConsolezhaochun
net start OracleOraDb10g_home1iSQL*Plus
net start OracleOraDb10g_home1TNSListener
net start OracleServiceZHAOCHUN


net stop OracleDBConsolezhaochun
net stop OracleOraDb10g_home1iSQL*Plus
net stop OracleOraDb10g_home1TNSListener
net stop OracleServiceZHAOCHUN

把zhaochun改成自己的服务名

2008年4月16日星期三

一头动物 总是瞎感慨

谁没有一些刻骨铭心事
谁能预计后果
谁没有一些旧恨心魔
一点点无心错
谁没有一些得不到的梦
谁人负你负我多
谁愿意解释为了什么
一笑已经风云过

2008年4月14日星期一

也成万儿了 哈哈

一个周末,两天,除了吃饭一动不动坐在家里写代码,坐的我屁股疼,腰疼,脖子疼,脑袋疼,眼睛疼....由于决策缺乏前瞻,之前买的一个报表共享控件不能满足现在的新需求,其实原来也有,只是不知道这s控件干不了这活儿,求助作者接连几天都没回音。
被迫将这该死的控件从系统中剥离,想别的办法代替,本来第一种方案使用水晶报表的,研究了一晚上没有进展,放弃,主要是水晶报表画格子太不方便了,也不知道是不是我没找到良方,现在改用了word,在里面画表格保存成模板,然后用程序填充数据。
现在周末过完了,欣慰的是基本上旧的控件程序都剃掉了,换上了word模板,这样最大的缺点就是速度,如果数据量大会很慢,还好,这是个小系统,数据量不算大。
准备收工,洗个澡休息,明儿好上班,突然想起上来空间看看,发现访问量一万多了都,哈哈
本来还想10000的时候抓个图呢,一不小心,过了,呵呵

2008年4月9日星期三

div层随滚动条滚动

<html>
<head>
    <title>弹出div</title>


   <style>
.#floater {
visibility: hidden;
background-color: #f7fcfe;
z-index: 100;
width: 300px;
height: 50px;
position: absolute;
text-align: center;
font-size: 30px;
color: #FF0000;
font-weight: bold;
vertical-align: middle;
}
</style>



<script language="javaScript">
function show()
{
    var d_dialog = document.getElementById('dialog');
    d_dialog.style.top = document.body.clientHeight / 2 - 60;
    d_dialog.style.left =document.body.clientWidth / 2 -100;
    d_dialog.style.visibility='visible';
    init();
}


function divBlock_event_mousedown()
{
    var e, obj, temp;
    obj=document.getElementById('dialog');
    e=window.event?window.event:e;
    obj.startX=e.clientX-obj.offsetLeft;
    obj.startY=e.clientY-obj.offsetTop;
    document.onmousemove=document_event_mousemove;
    temp=document.attachEvent?document.attachEvent('onmouseup',document_event_mouseup):document.addEventListener('mouseup',document_event_mouseup,'');
}


function document_event_mousemove(e)
{
    var e, obj;
    obj=document.getElementById('dialog');
    e=window.event?window.event:e;
    with(obj.style){
        position='absolute';
        left=e.clientX-obj.startX+'px';
        top=e.clientY-obj.startY+'px';
        }
}

function document_event_mouseup(e)
{
    var temp;
    document.onmousemove='';
    temp=document.detachEvent?document.detachEvent('onmouseup',document_event_mouseup):document.removeEventListener('mouseup',document_event_mouseup,'');
}
</script>
<script language="JavaScript">
self.onError=null;     
currentX = currentY =0;     
whichIt = null;     
lastScrollX =-10; lastScrollY = -100;     
NS = (document.layers) ? 1 : 0;     
IE = (document.all) ? 1: 0;     
<!-- STALKER CODE -->     
function heartBeat() {     
    if(IE) { diffY = document.body.scrollTop; diffX = document.body.scrollLeft; }     
    if(NS) { diffY = self.pageYOffset; diffX = self.pageXOffset; }     
    if(diffY != lastScrollY) {     
        percent = .1 * (diffY - lastScrollY);     


        if(percent > 0) percent = Math.ceil(percent);     
        else percent = Math.floor(percent);     
        if(IE) document.all.dialog.style.pixelTop += percent;     
        if(NS) document.dialog.top += percent;     
        lastScrollY = lastScrollY + percent;     
    }     
    if(diffX != lastScrollX) {     
        percent = .1 * (diffX - lastScrollX);     
        if(percent > 0) percent = Math.ceil(percent);     
        else percent = Math.floor(percent);     
        if(IE) document.all.dialog.style.pixelLeft += percent;     
        if(NS) document.dialog.left += percent;     
        lastScrollX = lastScrollX + percent;     
    }     
}     


<!-- /STALKER CODE -->     
<!-- DRAG Drop CODE -->     
function checkFocus(x,y) {     
    stalkerx = document.dialog.pageX;     
    stalkery = document.dialog.pageY;     
    stalkerwidth = document.dialog.clip.width;     
    stalkerheight = document.dialog.clip.height;     
    if( (x > stalkerx && x < (stalkerx+stalkerwidth)) && (y > stalkery && y < (stalkery+stalkerheight))) return true;     
    else return false;     
}     
function grabIt(e) {     
    if(IE) {     
        whichIt = event.srcElement;     
        while (whichIt.id.indexOf("dialog") == -1) {     

            whichIt = whichIt.parentElement;     
            if (whichIt == null) { return true; }     
        }     
        whichIt.style.pixelLeft = whichIt.offsetLeft;     
        whichIt.style.pixelTop = whichIt.offsetTop;     
        currentX = (event.clientX + document.body.scrollLeft);     
        currentY = (event.clientY + document.body.scrollTop);     
        } else {     
            window.captureEvents(Event.MOUSEMOVE);     
            if(checkFocus (e.pageX,e.pageY)) {     
                whichIt = document.dialog;     
                StalkerTouchedX = e.pageX-document.dialog.pageX;     
                StalkerTouchedY = e.pageY-document.dialog.pageY;     
            }     
    }     


    return true;     
}

function moveIt(e) {     
if (whichIt == null) { return false; }     
if(IE) {     
newX = (event.clientX + document.body.scrollLeft);     
newY = (event.clientY + document.body.scrollTop);     
distanceX = (newX - currentX); distanceY = (newY - currentY);     
currentX = newX; currentY = newY;     
whichIt.style.pixelLeft += distanceX;     
whichIt.style.pixelTop += distanceY;     
if(whichIt.style.pixelTop < document.body.scrollTop) whichIt.style.pixelTop = document.body.scrollTop;     
if(whichIt.style.pixelLeft < document.body.scrollLeft) whichIt.style.pixelLeft = document.body.scrollLeft;     
if(whichIt.style.pixelLeft > document.body.offsetWidth - document.body.scrollLeft - whichIt.style.pixelWidth - 20) whichIt.style.pixelLeft = document.body.offsetWidth - whichIt.style.pixelWidth - 20;     
if(whichIt.style.pixelTop > document.body.offsetHeight + document.body.scrollTop - whichIt.style.pixelHeight - 5) whichIt.style.pixelTop = document.body.offsetHeight + document.body.scrollTop - whichIt.style.pixelHeight - 5;     
event.returnValue = false;     
} else {     
whichIt.moveTo(e.pageX-StalkerTouchedX,e.pageY-StalkerTouchedY);     
if(whichIt.left < 0+self.pageXOffset) whichIt.left = 0+self.pageXOffset;     
if(whichIt.top < 0+self.pageYOffset) whichIt.top = 0+self.pageYOffset;     
if( (whichIt.left + whichIt.clip.width) >= (window.innerWidth+self.pageXOffset-17)) whichIt.left = ((window.innerWidth+self.pageXOffset)-whichIt.clip.width)-17;     
if( (whichIt.top + whichIt.clip.height) >= (window.innerHeight+self.pageYOffset-17)) whichIt.top = ((window.innerHeight+self.pageYOffset)-whichIt.clip.height)-17;     
return false;     
}     
return false;     
}     
function dropIt() {     
whichIt = null;     
if(NS) window.releaseEvents (Event.MOUSEMOVE);     
return true;     
}     
<!-- DRAG Drop CODE -->     
if(NS) {     
window.captureEvents(Event.MOUSEUP|Event.MOUSEDOWN);     
window.onmousedown = grabIt;     
window.onmousemove = moveIt;     
window.onmouseup = dropIt;     
}     
if(IE) {     
document.onmousedown = grabIt;     
document.onmousemove = moveIt;     
document.onmouseup = dropIt;     
}     
if(NS || IE) action = window.setInterval("heartBeat()",1);     
</script>
</head>
<div id ="dialog" onmousedown="divBlock_event_mousedown()">在这里面定义html内容美化</div>
<body onload="show()">
    <table border='0' width="100%" height="100%">
        <tr>
            <td>
                测试
            </td>
        </tr>
        <tr>
           <td>
             处理中,请等待……<br>
            处理中,请等待……<br>
            处理中,请等待……<br>
            处理中,请等待……<br>

            <br>
            <br>
            <br>
            <br>
            处理中,请等待……<br>
            处理中,请等待……<br>
            处理中,请等待……<br>
            处理中,请等待……<br>

            <br>
            <br>
            <br>
            <br>
            处理中,请等待……<br>
            处理中,请等待……<br>
            处理中,请等待……<br>
            处理中,请等待……<br>

            <br>
            <br>
            <br>
            <br>
            处理中,请等待……<br>
            处理中,请等待……<br>
            处理中,请等待……<br>
            处理中,请等待……<br>

            <br>
            <br>
            <br>
            <br>
            处理中,请等待……<br>
            处理中,请等待……<br>
            处理中,请等待……<br>
            处理中,请等待……<br>

            <br>
            <br>
            <br>
            <br>
            处理中,请等待……<br>
            处理中,请等待……<br>
            处理中,请等待……<br>
            处理中,请等待……<br>

            <br>
            <br>
            <br>
            <br>
            处理中,请等待……<br>
            处理中,请等待……<br>
            处理中,请等待……<br>
            处理中,请等待……<br>

            <br>
            <br>
            <br>
            <br>
            处理中,请等待……<br>
            处理中,请等待……<br>
            处理中,请等待……<br>
            处理中,请等待……<br>

            <br>
            <br>
            <br>
            <br>
            处理中,请等待……<br>
            处理中,请等待……<br>
            处理中,请等待……<br>
            处理中,请等待……<br>

            <br>
            <br>
            <br>
            <br>
            处理中,请等待……<br>
            处理中,请等待……<br>
            处理中,请等待……<br>
            处理中,请等待……<br>

            <br>
            <br>
            <br>
            <br>
            处理中,请等待……<br>
            处理中,请等待……<br>
            处理中,请等待……<br>
            处理中,请等待……<br>

            <br>
            <br>
            <br>
            <br>
            处理中,请等待……<br>
            处理中,请等待……<br>
            处理中,请等待……<br>
            处理中,请等待……<br>

            <br>
            <br>
            <br>
            <br>
            处理中,请等待……<br>
            处理中,请等待……<br>
            处理中,请等待……<br>
            处理中,请等待……<br>

            <br>
            <br>
            <br>
            <br>
            处理中,请等待……<br>
            处理中,请等待……<br>
            处理中,请等待……<br>
            处理中,请等待……<br>

            <br>
            <br>
            <br>
            <br>
            处理中,请等待……<br>
            处理中,请等待……<br>
            处理中,请等待……<br>
            处理中,请等待……<br>

            <br>
            <br>
            <br>
            <br>
           </td>
        </tr>
    </table>
</body>
</html>

鼠标移入中显示提示信息

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<style type="text/css">
<!--

.#opstatdiv {
   visibility: hidden;
   background-color: #f7fcfe;
   z-index: 100;
   width: 200px;
   height: 50px;
   position: absolute;
   text-align: left;
   font-size: 12px;
   color: #FF0000;
   font-weight: bold;
   vertical-align: middle;
}
-->
</style>
<script type="text/javascript">

function showOpstatView()
{
var msgStr = "提示信息";
var d_dialog = document.getElementById('opstatdiv');
d_dialog.innerHTML = msgStr;
d_dialog.style.posLeft = document.body.scrollLeft + event.clientX + 10;
d_dialog.style.posTop = document.body.scrollTop + event.clientY;
  
d_dialog.style.visibility='visible';

}

function opstatDivClose()
{
    var d_dialog = document.getElementById('opstatdiv');
    d_dialog.style.visibility='hidden';
}

</script>
</HEAD>

<BODY>
<div id="opstatdiv"></div>
<table>
<tr>
   <td onmouseover="javascript:showOpstatView()" onmouseout="javascript:opstatDivClose()">>
   靠近我
   </td>
</tr>
</table>
</BODY>
</HTML>

C#操作Word中的表格

C#操作Word中的表格

            object oMissing = System.Reflection.Missing.Value;
            Microsoft.Office.Interop.Word._Application oWord;
            Microsoft.Office.Interop.Word._Document oDoc;
            oWord = new Microsoft.Office.Interop.Word.Application();
            //显示word文档
            oWord.Visible = true;
            //取得word文件模板
            object fileName = System.Windows.Forms.Application.StartupPath + "\\word.doc";
            //根据模板生成一个新文档,相当于另存为
            oDoc = oWord.Documents.Add(ref fileName, ref oMissing,
                            ref oMissing, ref oMissing);
            //在这里操作表格中的文本
            oDoc.Tables[1].Cell(1, 1).Range.Text = "cell11";


            //MessageBox.Show(oDoc.Content.Paragraphs[3].Range.Text);

遇到的问题

1、开始时添加word动态链接库引用出错,在引用里面有黄色感叹号,在baidu上搜,找到原因,是因为,先安装的office,后安装的.net,默认没有安装.NET Programmability Support(.net可编程支持)。重新启动office安装程序,选修复,将.NET Programmability Support(.net可编程支持)选择安装到本机就OK了。

参考:http://hi.baidu.com/devzhao/blog/item/4248624ab27e102008f7ef2c.html

2、添加word引用的方法,在Program Files\Microsoft Office\OFFICE11中有个MSWORD.OLB文件,添加引用,就行了,还有中办法好象在com组件中找到Microsoft Word 11.0 Object Library也行。

3、操作word文档的代码参考:http://tmsoft.lsxy.com/index.php?load=read&id=334#comm_top

另外,还不知道,这样的代码对客户机配置有什么要求,office是肯定必须安装了,安装的版本有限制没,以后客户自己升级个office 2007会不会有问题????

高手看到了,麻烦告诉小弟一下,谢过!!!

2008年4月8日星期二

vss for eclipse 显示签出状态

vss for eclipse 显示签出状态老是无缘无故没了,还得每次到baidu上搜,这次记下来省得忘,呵呵

2008年4月3日星期四

Java 持久性 API(JPA)

JPA(Java Persistence API)
JPA(Java Persistence API)作为Java EE 5.0平台标准的ORM规范,将得到所有Java EE服务器的支持。Sun这次吸取了之前EJB规范惨痛失败的经历,在充分吸收现有ORM框架的基础上,得到了一个易于使用、伸缩性强的ORM规范。

2008年4月1日星期二

收藏一个现实右键菜单的demo

<%--

/**

*实现右键菜单功能

*/

--%>

<html>
    <body oncontextmenu = showMenu('')>
        <form name = "menuForm">
            <!--隐藏框,用来保存选择的菜单的id值-->
            <input type = "hidden" name = "id" value = "">
            <table>
            <tr>
       <td><a href="javascript:clickMenu()" oncontextmenu = showMenu('0')>根目录</a></td>
    </tr>
            <tr>
       <td><a href="javascript:clickMenu()" oncontextmenu = showMenu('1')>菜单一</a></td>
    </tr>

            <tr><td><a href="javascript:clickMenu()" oncontextmenu = showMenu('2')>菜单二</a></td></tr>

            </table>
        </form>
    </body>

    <!-- 这里用来定义需要显示的右键菜单 -->
    <div id="itemMenu" style="display:none">
           <table border="1" width="100%" height="100%" bgcolor="#cccccc" style="border:thin" cellspacing="0">
                  <tr>
                      <td style="cursor:default;border:outset 1;" align="center" onclick="parent.create()">
                      新增
                      </td>
                  </tr>
                  <tr>
                      <td style="cursor:default;border:outset 1;" align="center" onclick="parent.update();">
                      修改
                      </td>
                  </tr>
                  <tr>
                      <td style="cursor:default;border:outset 1;" align="center" onclick="parent.del()">
                      删除
                     </td>
                  </tr>
           </table>
    </div>
    <!-- 右键菜单结束-->
</html>


<script language="JavaScript">

/**

*根据传入的id显示右键菜单

*/

function showMenu(id){
    menuForm.id.value = id;

    if("" == id){
        popMenu(itemMenu,100,"100");
    }
    else{
        popMenu(itemMenu,100,"111");
    }

    event.returnValue=false;
    event.cancelBubble=true;
    return false;

}


/**

*显示弹出菜单

*menuDiv:右键菜单的内容

*width:行显示的宽度

*rowControlString:行控制字符串,0表示不显示,1表示显示,如“101”,则表示第1、3行显示,第2行不显示

*/

function popMenu(menuDiv,width,rowControlString){
    //创建弹出菜单
    var pop=window.createPopup();

    //设置弹出菜单的内容
    pop.document.body.innerHTML=menuDiv.innerHTML;
    var rowObjs=pop.document.body.all[0].rows;

    //获得弹出菜单的行数
    var rowCount=rowObjs.length;

    //循环设置每行的属性
    for(var i=0;i<rowObjs.length;i++){
        //如果设置该行不显示,则行数减一
        var hide=rowControlString.charAt(i)!='1';

        if(hide){
            rowCount--;
        }

        //设置是否显示该行

        rowObjs[i].style.display=(hide)?"none":"";

        //设置鼠标滑入该行时的效果

        rowObjs[i].cells[0].onmouseover=function(){
            this.style.background="#818181";
            this.style.color="white";
        }
        //设置鼠标滑出该行时的效果
        rowObjs[i].cells[0].onmouseout=function(){
            this.style.background="#cccccc";
            this.style.color="black";
        }

    }

    //屏蔽菜单的菜单
    pop.document.oncontextmenu=function() {
            return false;
    }

    //选择右键菜单的一项后,菜单隐藏
    pop.document.onclick=function(){
            pop.hide();
    }
    //显示菜单
    pop.show(event.clientX-1,event.clientY,width,rowCount*25,document.body);
    return true;

}
function create(){
    alert("create" + menuForm.id.value + "!");
}

function update(){
    alert("update" + menuForm.id.value + "!");
}
function del(){
    alert("delete" + menuForm.id.value + "!");
}
function clickMenu(){
    alert("you click a menu!");
}
</script>