学习笔记(2011年5月到9月)

简介: 1、 table 每行 鼠标悬停和移出的样式变化: 二号楼 2、由1,我们可以对gridview行 鼠标悬停和移出的样式变化: protected void gvBuildList_RowCreated(object sender, GridViewRowEventArgs e) { if (e.
1、 table 每行 鼠标悬停和移出的样式变化:
<tr class="line-odd" onmouseover="currentcolor = this.style.backgroundColor;this.style.backgroundColor='#F7FFF7';this.style.cursor='hand';" onmouseout="this.style.backgroundColor = currentcolor;">
 <td>二号楼</td>
 <td></td>
</tr>

2、由1,我们可以对gridview行 鼠标悬停和移出的样式变化:
  protected void gvBuildList_RowCreated(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                try
                {
                    e.Row.Attributes.Add("onmouseover", "currentcolor = this.style.backgroundColor;this.style.backgroundColor='#F7FFF7';this.style.cursor='hand';");
                    e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor = currentcolor;");
                }
                catch { }
            }
        }
3 xml文件,删除节点的方法:
                DataSet ds = new DataSet();
                ds.ReadXml(Server.MapPath("XML/BuildList.xml"));
                bool isHave = false;
                foreach (DataRow drTemp in ds.Tables[0].Rows)
                {
                    if (drTemp["BuildText"].ToString().Equals(this.gvBuildList.Rows[e.RowIndex].Cells[0].Text))
                    {
                        drTemp.Delete();
                        break;
                    }
                }
                ds.WriteXml(Server.MapPath("XML/BuildList.xml"));
 

4 文本框中只能输入数字的js方法:
function CheckTotalPrice(text)
{
    text.value=text.value.replace(/[^\.\d]/g,'');
    if(text.value.split('.').length>2)
    {
        text.value=text.value.split('.')[0]+'.'+text.value.split('.')[1];
    }
    else if(text.value.split('.').length==2)
    {
        text.value=text.value.split('.')[0] + '.'+text.value.split('.')[1].substr(0,2);
    }
}
  <asp:TextBox ID="txtTotalPriceTo" runat="server" CssClass="text-line" onKeyUp="CheckTotalPrice(this)"></asp:TextBox>
 
5 清除表单里所有TextBox里的值(该表单里有其它元素)
<script language="C#" runat="server">
protected void ClearText(Object sender,EventArgs e)
{
 ClearTextBox(this);
}
protected void ClearTextBox(Control c)
{
 if(c is TextBox)
 {
  ((TextBox)c).Text="";
 }
 foreach(Control cc in c.Controls)
 {
  ClearTextBox(cc);
 }
}
</script>
<asp:Button ID="btn" runat="server" Width="86px" CssClass="bttn" Text="重新填写" OnClick="ClearText" />

6 连接打印机,打印功能:实例  固定资产系统,asset/AssetBillQuery.aspx
7 gridview 里,模板列里添加按钮,按钮出发后台事件的方法:
 前台:按钮添加属性 CommandName="DeleteBill",值自己随意填写。 
<asp:GridView ID="gvList" runat="server" AutoGenerateColumns="False"OnRowCommand="gvList_RowCommand">  
   <asp:TemplateField HeaderText="永久删除">
      <ItemTemplate>
           <asp:ImageButton ID="ImageButton1" runat="server" CommandName="DeleteBill" ImageUrl="~/images/system/delete.gif" CommandArgument='<%#DataBinder.Eval(Container.DataItem,"batchNO") %>' OnClientClick="javascript:return confirm('确认要删除固定资产账单信息吗?删除后将连同资产明细一并彻底删除');" />
       </ItemTemplate>                        
  </asp:TemplateField>
</asp:GridView>
后台:
  protected void gvList_RowCommand(object sender, GridViewCommandEventArgs e)
   {
      switch (e.CommandName)
       {
           case "DeleteBill":
               this.DeleteBill(e.CommandArgument.ToString());
               break;
           default:
                break;
      }
 }

8 gridview 里,模板列里添加按钮,进行增删改操作的方法,可以用7的方法,也可以这样:
 <asp:GridView ID="gvList" runat="server"  AutoGenerateColumns="False" OnRowEditing="gvList_RowEditing" OnRowDeleting="gvList_RowDeleting" OnRowUpdating="gvList_RowUpdating"  OnRowCancelingEdit="gvList_RowCancelingEdit">
   <asp:TemplateField HeaderText="导出账单">
                <ItemTemplate>
   <asp:ImageButton ID="ibtnPrint" runat="server" CommandName="Cancel" ImageUrl="~/images/system/export.gif" />
                </ItemTemplate>
               </asp:TemplateField>
              <asp:TemplateField HeaderText="账单明细">
                <ItemTemplate>
                         <asp:ImageButton ID="ibtnAsset" runat="server" CommandName="Delete" ImageUrl="~/images/system/export.gif" />
                </ItemTemplate>
                                    
              </asp:TemplateField>
              <asp:TemplateField HeaderText="打印标签">
                   <ItemTemplate>
                          <asp:ImageButton ID="ibtnPrintLable" runat="server" CommandName="Update" ImageUrl="~/images/system/BtnPrint.gif" />
                    </ItemTemplate>
               </asp:TemplateField>
              <asp:TemplateField HeaderText=" 修 改 ">
                    <ItemTemplate>
                          <asp:ImageButton ID="ibtEdit" runat="server" CommandName="Edit" ImageUrl="~/images/system/edit.gif" />
                    </ItemTemplate>
                </asp:TemplateField>
</asp:GridView >
  protected void gvList_RowEditing(object sender, GridViewEditEventArgs e)
        {
            AssetQueryBO bo = new AssetQueryBO();
            AssetRegisterBill bill = bo.GetRegisterBill(this.gvList.Rows[e.NewEditIndex].Cells[0].Text);
            
        }
        protected void gvList_RowDeleting(object sender, GridViewDeleteEventArgs e)
        {
            OpenWebForm("./BillAssetList.aspx?BATCHNO=" + this.gvList.Rows[e.RowIndex].Cells[0].Text);
        }
       
        protected void gvList_RowUpdating(object sender, GridViewUpdateEventArgs e)
        {
           
        }
        protected void gvList_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
        {
            Response.Redirect("./AssetsBillExport.aspx?billNO=" + this.gvList.Rows[e.RowIndex].Cells[0].Text);
        }
还有一种方法:在OnItemDataBound(...)事件里为每行的某已列值添加属性
 e.Item.Cells[COLUMNINDEX].Attributes.Add("onclick", "show('td_" + strtaskId + "')");
10 弹出模态对话框,页面上有回传操作,操作完后点击关闭按钮,发现关闭不了,解决方法为:
在<head></head>中加入<base targe="_self"/>
 
11 asp.net 后台向前台注册js 段的方法
  Page.ClientScript.RegisterStartupScript(GetType(), "111", strTemp);
12 判断一个数值是否为NULL,的方法
if(dt.Row[0]["IsRead"]==System.DBNull.Value)
{ //如果是NUll
 
}
 

12 gridview 绑定
在一TemplateFiled上绑定一个值,如果该值为1,则在页面上显示“是”,如果为“0”,则在页面上显示为“否”的方法:
    <asp:TemplateField HeaderText="是否主用户">
                            <ItemStyle HorizontalAlign="center" Width="10%" ForeColor="Black"></ItemStyle>
                            <ItemTemplate>
                                <%# Eval("IsMain").ToString()=="1"?"":""%>
                            </ItemTemplate>
                        </asp:TemplateField>

13 使用jquery里trim方法
<script src="../Scripts/jquery-1.2.6.js" type="text/javascript"></script>
//发送时的检查
    function checkFormSend() {
 
        var GroupCode = $("#" + "<%=txtGroupCode.ClientID %>").val();
        var GroupName = $("#" + "<%=txtGroupName.ClientID %>").val();
        if (GroupCode == "" || $.trim(GroupCode)=="") {
            alert("请输入分组编码!");
            $("#" + "<%=txtGroupCode.ClientID %>").focus();
            return false;
        }
        if (GroupName == "" || $.trim(GroupName) == "") {
            alert("请输入分组名称!");
            $("#" + "<%=txtGroupName.ClientID %>").focus();
            return false;
        }
        return true;    
    
    }
 
14 js比较日期大小
<script type="text/javascript">
        function check() {
            var starttime = document.getElementById("TextBox1").value;
            var endtime = document.getElementById("TextBox2").value;
            checkDate(starttime, endtime, '-');
        }
        function checkDate(starttime, endtime, splitStr) {
             
            var aStart = starttime.split(splitStr);
            var aEnd = endtime.split(splitStr);
            var startDate = aStart[0] + "/" + aStart[1] + "/" + aStart[2];
            var endDate = aEnd[0] + "/" + aEnd[1] + "/" + aEnd[2];
            if (startDate > endDate) {
                alert("开始时间不能大于结束!");
            }
            else {
                alert("ddd");
            }
        }
   
 

15 读取xml格式的字符串:
   XmlDocument xDoc = new XmlDocument();
                xDoc.LoadXml(requestData);
                XmlNodeList xmlNodeList = xDoc.SelectNodes("/usermsg");
 
 

16 下载文件,用a标签 ,如果文件后缀为.reg.则要在IIS里添加MIME,.reg  reg
17 gridview添加样式
   protected void dgList_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            dgList.AlternatingRowStyle.BackColor =Color.Red;
            dgList.BackColor = Color.Green;
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                string id = dgList.DataKeys[e.Row.RowIndex].Value.ToString();
                e.Row.Attributes.Add("id", id);
  //绑定的时候,修改某一列的值
   DataRowView row = (DataRowView)e.Row.DataItem;
   Label retLbl = e.Row.FindControl("AppState") as Label;
                    string ott = row["OperationType"].ToString();
                    if (row["OperationType"].ToString() == "addOrg")
                    {
                        retLbl.Text = "新增组织机构";
                    }
            }
        }
  /// <summary>
  /// DataGrid样式设置
  /// </summary>
  /// <param name="sender"></param>
  /// <param name="e"></param>
  public void dg_ItemCreated(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
  {   
   DataGrid dg = ((DataGrid)sender) ;
    
   dg.CssClass = "CSSDataGrid";
   dg.HeaderStyle.CssClass = "HeaderStyle";
   dg.FooterStyle.CssClass = "FooterStyle";
   dg.ItemStyle.CssClass = "ItemStyle";
   dg.SelectedItemStyle.CssClass = "SelectedItemStyle";
   dg.AlternatingItemStyle.CssClass = "AlternatingItemStyle";
   dg.EditItemStyle.CssClass = "EditItemStyle";
   dg.PagerStyle.CssClass = "PagerStyle";
   dg.GridLines = GridLines.Both ;
   dg.BorderColor =  ColorTranslator.FromHtml("#89C2D6");
  }
 
 
 
 
 
18 前台绑定值,将时间类型改变:
Text='<%# Convert.ToDateTime(Eval("EndDate")).ToString("yyyy-MM-dd") %>'
19 前台调用后台的方法:
 <%#GetHead()%>
后台代码:
 public string GetHead()
    {
        string re = "<input type=\"checkbox\" name=\"chkSelectAll\" id=\"chkSelectAll\" onclick=\"selectAll(this);\" />全选";
        if (currentNode.wn_isMulti)//多选
        {
            re = "<input type=\"checkbox\" name=\"chkSelectAll\" id=\"chkSelectAll\" onclick=\"selectAll(this);\" />全选";
        }
        else
        {
            re = "<input type=\"checkbox\" name=\"chkSelectAll\" id=\"chkSelectAll\" onclick=\"selectAll(this);\"  style=\"display:none\"/>选择";
        }
        return re;
    }
 
20  js 每隔一段时间后执行一个方法
 <script type="text/jscript">
     function close() {
         parent.location.reload();
     }
    //停止1秒钟后关闭该页面,并且刷新主页面
     function window.onload() {
         setInterval("close()", 1200);
       
     }
    </script>
 

21  sqlserver2008 还原数据库,提示正在使用,无法独占使用。
解决方法:先执行第一条sql,执行完再执行第二条sql。就可以了。
alter database AgilePoint set offline with rollback immediate
alter database  AgilePoint set online
 
22 刷新父页面
  parent.location.replace(parent.location.href + '');

23 SqlServer 2008中,sql语句查询,查询条件里有中文,则查询不到记录。
修改方法:右击数据库-----属性---- 选项-----排序规则:改成“Chinese_PRC_90_CI_AS”,别的默认即可。点击“确定”。
相关文章
|
Arthas 监控 测试技术
总结 | 学习笔记
快速学习总结
58 0
|
Java 数据安全/隐私保护 开发者
属性驱动 | 学习笔记
快速学习属性驱动,介绍了属性驱动系统机制, 以及在实际应用过程中如何使用。
61 0
|
机器学习/深度学习 算法 数据挖掘
总结与回顾| 学习笔记
快速学习总结与回顾。
62 0
总结与回顾| 学习笔记
|
人工智能 开发者
特征空间与应用 | 学习笔记
快速学习特征空间与应用
105 0
特征空间与应用 | 学习笔记
|
分布式计算 前端开发 Java
RegexpQuery|学习笔记
快速学习 RegexpQuery。
184 0
RegexpQuery|学习笔记
|
自然语言处理 流计算 开发者
termQuery | 学习笔记
快速学习 termQuery
165 0
|
开发者 Python
In 和 not in 的使用 | 学习笔记
快速学习 In 和 not in 的使用
108 0
|
机器学习/深度学习 算法 数据处理
总结与练习|学习笔记
快速学习总结与练习。
115 0
|
存储 Java 开发者
BinaryTree|学习笔记
快速学习BinaryTree
BinaryTree|学习笔记
|
Python
雨痕大神的《学习笔记系列》
雨痕大神的《学习笔记》可以在他的GitHub(https://github.com/qyuhen/book)下载,7000+的Star,足以证明认可度。 笔记系列陆陆续续在出版,已出版的有: 《Python 3学习笔记(上卷)》https://www.
3617 0