欢迎光临
我们一直在努力

在ASP.NET中用DataGrid的ItemTemplate實現多筆錄入的客戶端寫法-.NET教程,Asp.Net开发

建站超值云服务器,限时71元/月

 

在asp.net中經常會遇到多筆錄入的情況,而且是在itemtemplate下(許多user都不願編輯一筆存一筆),經過多次的嘗試,近日總算找到了思歸的一小段代碼,解決了我多日來的難題
我有一個頁面但由於筆數不確定,所以只能採用datagrid來實現,而且還是在itemtemplate中,當點選客戶下拉選單時要將客戶代號show在旁邊的textbox中,昨天找到一客戶端的參考,今日嘗試改寫後通過啦^__^
參考代碼如下:
<asp:templatecolumn headertext=”数量”> 
  <itemtemplate>
   <asp:textbox id=”shuliang” runat=server text=<%# databinder.eval(container.dataitem,”dg_shuliang”)%>  
    onkeyup=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”)%> 
    onkeyup=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>

資料來源:http://bbs.hidotnet.com/13796/showpost.aspx

哈~~在此感謝思歸和整理代碼的朋友^__^

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 在ASP.NET中用DataGrid的ItemTemplate實現多筆錄入的客戶端寫法-.NET教程,Asp.Net开发
分享到: 更多 (0)