`

小知识(九)

 
阅读更多

1.手动HTML构建table其中有分级列

分级列类似于一棵树,lookhere13,但是那里用到了TreeView所以会自动分等级,这里是表格需要计算该列每行位于第几等级然后自己在前面添加不同个数的 实现不同分级,也是在数据库里要有父节点ID的字段,这里是rwfid(任务父节点id)

 

<div id="taskFPBB" style="overflow:auto; width:1800px;display:none; margin-top:10px;">
   <div id="taskFPBBTable" runat="server"></div>
</div>

 方法 GetRWByRWid 根据任务ID得到某条任务 GetRWByRWFid 根据任务父节点ID得到某些任务

 

    TaskManagementDAL tmd = new TaskManagementDAL();
    protected string strrwmctd = null; //任务分配情况报表任务名称td
    protected string strothertd = null; //任务分配情况报表其他td
    protected DataTable dt = new DataTable();
    protected string strnbsp = null; //前面需加几个&nbsp;
    protected int nbspcount = 1; //rw位于第几级
    protected void Page_Load(object sender, EventArgs e)
    {
        RWFPQKBB();
     }
        //任务分配情况报表
        private void RWFPQKBB()
        {
            DateTime maxdate = tmd.GetMaxDateByXmid("090837043_115716625");
            DateTime mindate = tmd.GetMinDateByXmid("090837043_115716625");
            float theDays = float.Parse(new TimeSpan(maxdate.Ticks - mindate.Ticks).Days.ToString());
            float countTd = theDays / 7;
            string[] strs = countTd.ToString().Split('.');
            bool is7BS = strs[1] == "0"; //是否正好是7的倍数
            int count = int.Parse(strs[0]);
//上面整个是求某项目所有任务的最早开始时间和最晚结束时间,然后算出有多少个星期,横向列出来(见下图)
            string strTable = "<table cellpadding='5px;' rules='all'><tr><th>&nbsp;</th><th>" + mindate.ToString("yyyy-MM-dd") + "</th>";
            string strTd = "<tr><td>天博项目管理系统" + "地产大楼监控系统" + "进度计划</td><td>&nbsp;</td>";
            strothertd = "<td>&nbsp;</td>";
            for (int i = 0; i < count; i++)
            {
                double add7GS = i + 1;
                strTable += "<th>" + mindate.AddDays(7.0 * add7GS).ToString("yyyy-MM-dd") + "</th>";
                strTd += "<td>&nbsp;</td>";
                strothertd += "<td>&nbsp;</td>";
            }
            if (!is7BS)
            {
                strTable += "<th>" + maxdate.ToString("yyyy-MM-dd") + "</th>";
                strTd += "<td>&nbsp;</td>";
                strothertd += "<td>&nbsp;</td>";
            }
            taskFPBBTable.InnerHtml = strTable + strTd;
            dt = tmd.GetRWByRWFid("0", "090837043_115716625");
            GetStrTable(dt, "090837043_115716625");
        }
        //递归读出该项目下的所有任务
        protected void GetStrTable(DataTable dt, string xmid)
        {
            if (dt.Rows.Count != 0)
            {
                foreach (DataRow item in dt.Rows)
                {
                    //判断当前rw位于第几级
                    WhatRank(tmd.GetRWByRWid(item["rwid"].ToString(), xmid), xmid);
                    strnbsp = GetNbsp(nbspcount);
                    nbspcount = 1;
                    taskFPBBTable.InnerHtml += "<tr><td>" + strnbsp + item["rwmc"].ToString() + "</td>" + strothertd;
                    strnbsp = null;
                    GetStrTable(tmd.GetRWByRWFid(item["rwid"].ToString(), xmid), xmid);
                }
            }
        }
        //构建&nbsp;
        protected string GetNbsp(int count)
        {
            for (int i = 0; i < count; i++)
            {
                strnbsp += "&nbsp;&nbsp;&nbsp;&nbsp;";
            }
            return strnbsp;
        }
        //利用递归判断当前位于第几级别
        protected void WhatRank(DataTable dt, string xmid)
        {
            if (dt.Rows[0]["rwfid"].ToString() == "0")
            {
                return;
            }
            else
            {
                nbspcount++;
                WhatRank(tmd.GetRWByRWid(dt.Rows[0]["rwfid"].ToString(), xmid), xmid);
            }
        }

 

 

2.javascript数组操作

js操作数组 http://www.cnblogs.com/qiantuwuliang/archive/2011/01/08/1930499.html

js清空数组 http://blog.csdn.net/jazywoo123/article/details/7056064

数组的join函数,将一个数组内的元素返回成一个字符串,每个元素之间用指定分隔符分开(分隔符也在字符串内),该函数正好与split函数相反

http://topic.csdn.net/u/20120222/16/63443040-2567-4af6-97a5-39f447b246fd.html

 

3.js中setInterval与setTimeout

http://blog.163.com/dawnsword@126/blog/static/162805915201032304521547/

停止setInterval与setTimeout

sIt=setInterval("func()",1000); clearInterval(sIt);

sTo=setTimeout("func",1000); clearTimeout(sTo);

http://topic.csdn.net/u/20120215/11/bef3bbb2-271a-40b8-9b97-c8c251e1a9db.html

 

4.代码发送邮件

按照以下链接的方法发送内嵌图片邮件失败

http://www.cnblogs.com/SkyD/archive/2009/05/11/1453868.html

出现 e = {"事务失败。 服务器响应为: DT:SPM smtp3, .....的错误

按照以下链接的查到DT:SPM发送的邮件内容包含了未被网易许可的信息,或违背了网易的反垃圾服务条款。

http://hi.baidu.com/fannyfairy/blog/item/660c1ff36086101fb07ec591.html

经调试,发现网易不允许正文以HTML格式发送,即代码中不能设置m.IsBodyHtml = true;

所以不能按照这种方法发送内嵌图片邮件

 

5.jQuery调用WebService的方法

注意事项以下链接已经说的比较明白了,但要注意josn格式的字符串值要加单引号

http://hi.baidu.com/pan524365501/blog/item/d3a4358ad1ffc6659e2fb48f.html

 

6.设置背景颜色透明度

http://www.cnblogs.com/xionglee/articles/1203788.html

style="opacity:0.3; filter:alpha(opacity=30);" 值别倒了

 

7.EasyUI拖拽的bug

EasyUI里的拖拽函数有个bug,就是当拖动的目标元素内有交互元素时,如<input type='text'>等时,我们无法正常输入或进行其他操作(当然我们也为了是可以拖动目标元素的边框,否则我们可以为函数传入{handle:}参数,只指定拖动把手),我们可以将这些交互元素放到一个iframe里,这样就可以解决这个问题了。

 

 

8.window.showModalDialog()和$("#btn1").click()虚拟点击

http://www.cnblogs.com/zhangyi85/archive/2009/09/03/1559594.html

可以通过window.returnValue向打开对话框的窗口返回信息

parent.htm

<script>

str =window.showModalDialog("modal.htm",,"dialogWidth=200px;dialogHeight=100px");

if(str=="http://www.51js.com"){$("#btn1").click();window.location.href=str;}

</script>

modal.htm

<script>

window.returnValue="http://www.51js.com";

</script>

parent.htm页面str得到的值就是http://www.51js.com

其中$("#btn1").click();会执行虚拟点击,而不管btn1是

<asp:Button ID="btn1" runat="server"  OnClick="btn1_Click" />

还是

<input type="button" id="btn1" runat="server" onserverclick="btn1_ServerClick"/>

所以当不喜欢.net控件的样式时,可自己用div画,但后当点div时,用js虚拟点击btn1,当然这时你还可能需要隐藏btn1,设置visiable="false"不会执行btn1_Click,而需要设置其display:none

 

9.C#空值判断

可以先将其转换成string类型,然后利用string.IsNullOrEmpty(object.ToString())来判断其是否为空或为null

http://www.cnblogs.com/GIS_zhou/articles/1556216.html

 

10.静态字段初始化

private static string s="我是静态字段";

静态字段会在静态构造函数里初始化,而静态构造函数执行且只执行一次(在该类第一次实例化时),类型默认没有定义静态构造函数,看这里的类型构造器(静态构造器),如果类型里定义了静态字段,编译器就会添加一个静态构造函数到类型里。

 

11.jquery判断元素是否存在的方法

if ( $("#someID").length > 0 ) { 

$("#someID").text("hi"); 

 

以下1213都跟这个HTML代码有关

 

<asp:GridView ID="grwXX" runat="server" AutoGenerateColumns="false" RowStyle-Wrap="false"
            OnRowDataBound="grwXX_RowDataBound">
            <Columns>
                <asp:TemplateField>
                    <ItemTemplate>
                        <asp:CheckBox ID="cbdel" runat="server" CssClass="cbItemsss" />
                    </ItemTemplate>
                    <HeaderTemplate>
                        <asp:CheckBox ID="cbAll" CssClass="cbItemAll" OnClick="selAll('grwXX',this.checked);" runat="server" Text="" />
                    </HeaderTemplate>
                </asp:TemplateField>
                <asp:BoundField DataField="wzdm" HeaderText="设备代码" />
                <asp:BoundField DataField="wzmc" HeaderText="设备名称" />
                <asp:BoundField DataField="sbxh" HeaderText="设备型号" />
                <asp:BoundField DataField="sblms" HeaderText="设备类名称" />
                <asp:BoundField DataField="sbldm" HeaderText="设备类代码" />
                <asp:BoundField DataField="sbzlms" HeaderText="设备子类名称" />
                <asp:BoundField DataField="sbzldm" HeaderText="设备子类代码" />
                <asp:BoundField DataField="zzsmc" HeaderText="制造商名称" />
                <asp:BoundField DataField="zzsdm" HeaderText="制造商代码" />
                <asp:BoundField DataField="azrq" HeaderText="安装日期" HtmlEncode="false" DataFormatString="{0:d}" />
                <asp:BoundField DataField="tyrq" HeaderText="投运日期" HtmlEncode="false" DataFormatString="{0:d}" />
            </Columns>
        </asp:GridView>
 

12.全选全不选

 

         function selAll(id,idVal) {
            if (idVal == true) {
                $("#" + id + " tr input[type='checkbox']").each(function() {
                    $(this).attr("checked", true)
                });
            }
            else {
                $("#" + id + " tr input[type='checkbox']").each(function() {
                    $(this).removeAttr("checked");
                });
            }
          }

 13.gridview翻页不影响里面的CheckBox的状态

      <input type="hidden" id="hid_sbid" runat="server" />

 

    $(function() {
         //GridView翻页时保持选中的CheckBox的状态1,2

             //1.点全选/全不选下面的复选框时的设置
	      $(".cbItemsss").click(function(){ 
	        var sbid=$("#hid_sbid").val();
	        if($(this).children().attr("checked")=="checked" || $(this).children().attr("checked")==true)
             {
               sbid+=$(this).parent().next().text()+",";
               $("#hid_sbid").val(sbid);
             }else{
               var delsbid=$(this).parent().next().text()+",";
               sbid=sbid.replace(delsbid,"");
               $("#hid_sbid").val(sbid);
             }
	   })
	      
	      //2.点全选/全不选复选框时的设置
	       $(".cbItemAll").click(function(){ 
	         var sbid=$("#hid_sbid").val();
	         $(".cbItemsss").each(function() {
             if($(this).children().attr("checked")=="checked" || $(this).children().attr("checked")==true)
             {
               sbid+=$(this).parent().next().text()+",";
               $("#hid_sbid").val(sbid);
              }else{
               var delsbid=$(this).parent().next().text()+",";
               sbid=sbid.replace(delsbid,"");
               $("#hid_sbid").val(sbid);
              }
            });
	 })

    })
 

 

 protected void grwXX_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        string[] sbids=hid_sbid.Value.Split(',');
        if (e.Row.RowType==DataControlRowType.DataRow)
        {
            for (int i = 0; i < sbids.Length; i++)
			{
                if( e.Row.Cells[1].Text==sbids[i]){
                    ((CheckBox)e.Row.FindControl("cbdel")).Checked = true;
                }
			}
        }
    }
 

14. Cmd.ExecuteNonQuery()不执行不报错程序直接跳出

出现这种现象一般是你的SQL语句是不对的,还很有可能的就是你在插入时没有给表的主键赋值

 

分享到:
评论

相关推荐

    信息系统项目管理师(高级)九大知识点

    【信息系统项目管理师(高级)九大知识点】 信息系统项目管理师是高级别的专业资格认证,其考试涵盖的内容广泛,包括项目管理的多个核心领域。以下是基于提供的文件内容对九大知识点的详细解析: 1、项目整体管理: ...

    九年级化学上册知识重点难点.pdf

    不过,我可以根据标题“九年级化学上册知识重点难点”以及描述“九年级化学上册知识重点难点”,推断出可能的知识点,并按照要求详细说明这些知识点。 初中化学是基础学科教育中的一部分,旨在引导学生认识物质世界...

    江西省中小学生安全知识题库

    #### 九、公共安全管理 - **知识点概述**: - 公共安全管理和应急管理的重要性。 - **知识点详情**: - **应急管理教育**:学校应将应急知识教育纳入教学内容,提高学生的应急处理能力。 - **公共安全意识**:...

    小学生地图知识PPT学习教案.pptx

    《小学生地图知识PPT学习教案》是一份专为小学生设计的地理学习材料,旨在帮助他们理解和掌握基础的地图知识,以及地球的基本特征。这份PPT涵盖了多个关键知识点,包括地球仪的使用、中国的地理位置、行政区划、地形...

    项目管理九大知识领域

    项目管理九大知识领域是项目管理领域中核心内容的总结,它包含项目整体管理、项目范围管理、项目进度管理、项目成本管理、项目质量管理、项目沟通管理、项目风险管理、项目采购管理和项目干系人管理。每一个知识领域...

    基础知识及计算机结构小测十九.pdf

    基础知识及计算机结构小测十九.pdf

    微信小程序项目实践之九宫格实现及item跳转功能

    通过以上知识点的讲解,相信对微信小程序九宫格的实现和item跳转功能有了清晰的理解和掌握。希望这些内容能对正在学习或实践微信小程序开发的朋友们有所帮助,如果有任何疑问,欢迎留言交流,笔者会及时回复解答。...

    2019年九年级数学上册第三章概率的进一步认识知识点归纳新版北师大版20200416293

    在九年级数学上册的第三章“概率的进一步认识”中,我们主要探讨了如何计算概率、用频率估计概率以及概率在实际生活中的应用。这一章的知识点涵盖了以下几个核心概念: 1. **树状图与表格求概率**: 在处理复杂的...

    小程序九宫格抽奖,.zip

    通过理解并应用以上知识点,小程序开发者可以构建出一个稳定、公正且吸引用户的九宫格抽奖功能。在实际开发中,根据业务需求进行调整和定制,确保功能的完整性和用户体验。同时,开发者还应注意遵循微信小程序的开发...

    河北省九年级物理(全册)知识点汇总.doc

    【知识点一:分子热运动】 ...总结:这些知识点涵盖了九年级物理的核心内容,涉及分子的运动和相互作用,能量的定义和变化方式,以及物质吸收和释放热量的能力。理解这些概念对于进一步学习物理学的其他领域至关重要。

    企业管理-网络安全-知识管理在中小企业管理中的应用.pdf

    知识点九:知识管理的未来发展 知识管理的未来发展将会更加关注隐性知识的识别和获取,更加关注知识共享和创新。同时,知识管理也会更加关注网络安全和知识保护。 知识点十:结论 知识管理是企业提高竞争力和创新...

    2019年九年级物理全册第十六章电压电阻知识点总结新版新人教版202004171115

    标题和描述中提到的是初中九年级物理第十六章关于电压和电阻的知识点总结,这部分内容是新人教版教材的一部分,更新于2020年4月。本章内容包括电压的概念、单位、常见电压值,以及电压与电流的关系。同时,讲解了...

    云之道知识付费v1.5.4小程序+前端(含pc付费插件).zip

    【知识要点九】:数据分析与报表 通过收集用户行为数据,平台可以生成分析报表,帮助运营者了解用户偏好,优化产品,提高转化率。例如,哪些课程最受欢迎,用户的活跃时间等。 【知识要点十】:社区互动与社交分享 ...

    2019年九年级数学上册第四章图形的相似知识点归纳新版北师大版20200416294

    【图形的相似】是初中数学中的重要概念,主要涉及了比例、相似多边形和相似三角形等基础知识。以下是对这些知识点的详细解释: 一、成比例线段 1. 成比例线段指的是两条线段的长度之比是固定的比例,如AB:CD=m:n,...

    九小场所消防安全责任书.docx

    【九小场所消防安全责任书】 九小场所是指小型购物场所、小型餐饮场所、小型旅馆、小型公共娱乐场所、小型学校和幼儿园、小型医疗机构、小型生产加工企业、小型易燃易爆化学物品生产储存经营场所、小型网吧等。这些...

    人教版九年级全一册物理知识点汇总.doc

    人教版九年级物理知识点汇总.doc 中的热和能知识点摘要信息: 一、扩散现象: * 定义:不同物质在相互接触时,彼此进入对方的现象。 * 说明:一切物质的分子都在不停地做无规那么的运动;分子之间有间隙。 * 扩散...

    九年级数学下册 第29章 知识整合深度解析(教材知识详析+拉分典例探究+知识整合+能力提升评估)(pdf) 新人教版.pdf

    【九年级数学下册第29章 知识整合深度解析】 在九年级数学下册的第29章中,重点讲述了投影与作图、生活中的简单应用的整合,以及实物原型和三视图知识的整合。这两个专题是中考试题的常见考点,对学生的空间想象...

    沪教版九年级下册数学(全册知识点考点梳理、重点题型分类巩固练习)(提高版)(家教、补习、复习用).doc

    【沪教版九年级下册数学知识点梳理】 本资料详细整理了沪教版九年级下册数学中的核心知识点,旨在帮助学生巩固基础,提升解题能力。以下是关键知识点的梳理: 1. **圆的基本概念与性质** - 圆的定义分为动态和...

    小程序仿朋友圈九宫格选图.zip

    "小程序仿朋友圈九宫格选图.zip" 文件提供了一个实现这种功能的示例,包含以下关键知识点: 1. **canvas组件**:在微信小程序中,`canvas`组件用于图形绘制,是实现九宫格选图的关键。通过`canvas`,我们可以动态地...

    matlab编写的九宫格小游戏源代码

    总的来说,MATLAB编写的九宫格小游戏结合了数学、逻辑和编程知识,为玩家和开发者提供了寓教于乐的平台。通过研究这款游戏,我们可以深入了解MATLAB的编程技巧,提高自己的编程能力和创新思维。

Global site tag (gtag.js) - Google Analytics