在ASP.NET中用DataGrid的ItemTemplate實現多筆錄入的客戶端寫法

王朝c#·作者佚名  2006-12-17
宽屏版  字体: |||超大  

在ASP.NET中用DataGrid的ItemTemplate實現多筆錄入的客戶端寫法

在ASP.NET中用DataGrid的ItemTemplate實現多筆錄入的客戶端寫法 在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哈~~在此感謝思歸和整理代碼的朋友^__^

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有