ASP.NET程序中常用的三十三种代码(3)

    技术2022-05-11  79

    21.读取DataGrid控件TextBox

     

    foreach(DataGrid dgi in yourDataGrid.Items){ TextBox tb = (TextBox)dgi.FindControl("yourTextBoxId"); tb.Text....}

      23.DataGrid中有3个模板列包含Textbox分别为 DG_ShuLiang (数量) DG_DanJian(单价) DG_JinE(金额)分别在5.6.7列,要求在录入数量及单价的时候自动算出金额即:数量*单价=金额还要求录入时限制为 数值型.我如何用客户端脚本实现这个功能?  〖思归〗

     

     

    <asp:TemplateColumn HeaderText="数量"> <ItemTemplate><asp:TextBox id="ShuLiang" runat=’server’ Text=’<%# DataBinder.Eval(Container.DataItem,"DG_ShuLiang")%>’ οnkeyup="javascript:DoCal()"/><asp:RegularExpressionValidator id="revS" runat="server" ControlToValidate="ShuLiang" ErrorMessage="must be integer" ValidationExpression="^/d+$" /></ItemTemplate></asp:TemplateColumn><asp:TemplateColumn HeaderText="单价"> <ItemTemplate><asp:TextBox id="DanJian" runat=’server’ Text=’<%# DataBinder.Eval(Container.DataItem,"DG_DanJian")%>’ οnkeyup="javascript:DoCal()"/><asp:RegularExpressionValidator id="revS2" runat="server" ControlToValidate="DanJian" ErrorMessage="must be numeric" ValidationExpression="^/d+(/./d*)?$" /></ItemTemplate></asp:TemplateColumn><asp:TemplateColumn HeaderText="金额"> <ItemTemplate><asp:TextBox id="JinE" runat=’server’ Text=’<%# DataBinder.Eval(Container.DataItem,"DG_JinE")%>’ /></ItemTemplate></asp:TemplateColumn><script language="javascript">function DoCal(){ var e = event.srcElement; var row = e.parentNode.parentNode; var txts = row.all.tags("INPUT"); if (!txts.length || txts.length < 3)  return; var q = txts[txts.length-3].value; var p = txts[txts.length-2].value; if (isNaN(q) || isNaN(p))  return; q = parseInt(q); p = parseFloat(p); txts[txts.length-1].value = (q * p).toFixed(2);}</script>

     

     

    24.datagrid选定比较底下的行时,为什么总是刷新一下,然后就滚动到了最上面,刚才选定的行因屏幕的关系就看不到了。

     

     

    page_load page.smartNavigation=true

     

     

      25.Datagrid中修改数据,当点击编辑键时,数据出现在文本框中,怎么控制文本框的大小 ?

     

     

    private void DataGrid1_ItemDataBound(obj sender,DataGridItemEventArgs e){ for(int i=0;i<e.Item.Cells.Count-1;i++)  if(e.Item.ItemType==ListItemType.EditType)  {   e.Item.Cells[i].Attributes.Add("Width", "80px")  } }

     

     

      26.对话框

     

     

    private static string ScriptBegin = "<script language=/"JavaScript/">";private static string ScriptEnd = "</script>";public static void ConfirmMessageBox(string PageTarget,string Content){ string ConfirmContent="var retValue=window.confirm(’"+Content+"’);"+"if(retValue){window.location=’"+PageTarget+"’;}"; ConfirmContent=ScriptBegin + ConfirmContent + ScriptEnd; Page ParameterPage = (Page)System.Web.HttpContext.Current.Handler; ParameterPage.RegisterStartupScript("confirm",ConfirmContent); //Response.Write(strScript);}

     

     

      27. 将时间格式化:string aa=DateTime.Now.ToString("yyyyMMdd");   1.1 取当前年月日时分秒

     

     

    currentTime=System.DateTime.Now;

     

     

      1.2 取当前年

     

     

    int 年= DateTime.Now.Year;

     

     

      1.3 取当前月

     

     

    int 月= DateTime.Now.Month;

     

     

      1.4 取当前日

     

     

    int 日= DateTime.Now.Day;

     

     

      1.5 取当前时

     

     

    int 时= DateTime.Now.Hour;

     

     

      1.6 取当前分

     

     

    int 分= DateTime.Now.Minute;

     

     

      1.7 取当前秒

     

     

    int 秒= DateTime.Now.Second;

     

     

      1.8 取当前毫秒

     

     

    int 毫秒= DateTime.Now.Millisecond;

     

     

      28.自定义分页代码:  先定义变量

     

     

    public static int pageCount; //总页面数 public static int curPageIndex=1; //当前页面

     

     

      下一页:

     

     

    if(DataGrid1.CurrentPageIndex < (DataGrid1.PageCount - 1)) {  DataGrid1.CurrentPageIndex += 1;  curPageIndex+=1; } bind(); // DataGrid1数据绑定函数

     

     

      上一页:

     

     

    if(DataGrid1.CurrentPageIndex >0) {  DataGrid1.CurrentPageIndex += 1;  curPageIndex-=1; } bind(); // DataGrid1数据绑定函数

     

     

      直接页面跳转:

     

     

    int a=int.Parse(JumpPage.Value.Trim());//JumpPage.Value.Trim()为跳转值 if(a<DataGrid1.PageCount) {  this.DataGrid1.CurrentPageIndex=a; } bind();

     

     

    29DataGrid使用:   添加删除确认:

     

     

    private void DataGrid1_ItemCreated(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e) {  foreach(DataGridItem di in this.DataGrid1.Items)  {   if(di.ItemType==ListItemType.Item||di.ItemType==ListItemType.AlternatingItem)   {    ((LinkButton)di.Cells[8].Controls[0]).Attributes.Add("onclick","return confirm(’确认删除此项吗?’);");   }  } }

     

     

      样式交替:

     

     

    ListItemType itemType = e.Item.ItemType; if (itemType == ListItemType.Item ) {  e.Item.Attributes["onmouseout"] = "javascript:this.style.backgroundColor=’#FFFFFF’;";  e.Item.Attributes["onmouseover"] = "javascript:this.style.backgroundColor=’#d9ece1’;cursor=’hand’;" ; } else if( itemType == ListItemType.AlternatingItem) {  e.Item.Attributes["onmouseout"] = "javascript:this.style.backgroundColor=’#a0d7c4’;";  e.Item.Attributes["onmouseover"] = "javascript:this.style.backgroundColor=’#d9ece1’;cursor=’hand’;" ; }

     

     

      添加一个编号列:

     

     

    DataTable dt= c.ExecuteRtnTableForAccess(sqltxt); //执行sql返回的DataTable DataColumn dc=dt.Columns.Add("number",System.Type.GetType("System.String")); for(int i=0;i<dt.Rows.Count;i++) {  dt.Rows[i]["number"]=(i+1).ToString(); } DataGrid1.DataSource=dt; DataGrid1.DataBind();

     

     

      DataGrid1中添加一个CheckBox,页面中添加一个全选框

     

     

    private void CheckBox2_CheckedChanged(object sender, System.EventArgs e) {  foreach(DataGridItem thisitem in DataGrid1.Items)  {   ((CheckBox)thisitem.Cells[0].Controls[1]).Checked=CheckBox2.Checked;  } }

     

     

      将当前页面中DataGrid1显示的数据全部删除

     

     

    foreach(DataGridItem thisitem in DataGrid1.Items) {  if(((CheckBox)thisitem.Cells[0].Controls[1]).Checked)  {   string strloginid= DataGrid1.DataKeys[thisitem.ItemIndex].ToString();   Del (strloginid); //删除函数  } }

     

     

      30.当文件在不同目录下,需要获取数据库连接字符串(如果连接字符串放在Web.config,然后在Global.asax中初始化)   在Application_Start中添加以下代码:

     

     

    Application["ConnStr"]=this.Context.Request.PhysicalApplicationPath+ConfigurationSettings.   AppSettings["ConnStr"].ToString();


    最新回复(0)