<dxwgv:ASPxGridView ID="Grid_Dhlist" runat="server"
AutoGenerateColumns="False" KeyFieldName="id" Width="100%"
onbeforecolumnsortinggrouping="Grid_Dhlist_BeforeColumnSortingGrouping"
onpageindexchanged="Grid_Dhlist_PageIndexChanged"
onrowdeleting="Grid_Dhlist_RowDeleting">
<Columns>
<dxwgv:GridViewCommandColumn VisibleIndex="0">
<DeleteButton Visible="True">
</DeleteButton>
</dxwgv:GridViewCommandColumn>
<dxwgv:GridViewDataTextColumn Caption="序号" FieldName="id" ReadOnly="true"
VisibleIndex="1">
<DataItemTemplate>
<asp:TextBox ID="txt_id" runat="server" ReadOnly="true"
Text='<%# Eval("id") %>'></asp:TextBox>
</DataItemTemplate>
</dxwgv:GridViewDataTextColumn>
<dxwgv:GridViewDataTextColumn Caption="存货编码" FieldName="GoodsCode"
ReadOnly="True" VisibleIndex="2">
<DataItemTemplate>
<asp:TextBox ID="txt_GoodsCode" runat="server" ReadOnly="true"
Text='<%# Eval("GoodsCode") %>'></asp:TextBox>
</DataItemTemplate>
</dxwgv:GridViewDataTextColumn>
<dxwgv:GridViewDataTextColumn Caption="存货名称" FieldName="GoodsName"
ReadOnly="True" VisibleIndex="3">
<DataItemTemplate>
<asp:TextBox ID="txt_GoodsName" runat="server" ReadOnly="true"
Text='<%# Eval("GoodsName") %>'></asp:TextBox>
</DataItemTemplate>
</dxwgv:GridViewDataTextColumn>
<dxwgv:GridViewDataTextColumn Caption="规格型号" FieldName="SizeModel"
ReadOnly="True" VisibleIndex="4">
<DataItemTemplate>
<asp:TextBox ID="txt_SizeModel" runat="server" ReadOnly="true"
Text='<%# Eval("SizeModel") %>'></asp:TextBox>
</DataItemTemplate>
</dxwgv:GridViewDataTextColumn>
<dxwgv:GridViewDataTextColumn Caption="技术参数" FieldName="TechPara"
ReadOnly="True" VisibleIndex="5">
<DataItemTemplate>
<asp:TextBox ID="txt_TechPara" runat="server" ReadOnly="true"
Text='<%# Eval("TechPara") %>'></asp:TextBox>
</DataItemTemplate>
</dxwgv:GridViewDataTextColumn>
<dxwgv:GridViewDataTextColumn Caption="单位" FieldName="Unit" VisibleIndex="6">
<DataItemTemplate>
<asp:TextBox ID="txt_Unit" runat="server" ReadOnly="true"
Text='<%# Eval("Unit") %>'></asp:TextBox>
</DataItemTemplate>
</dxwgv:GridViewDataTextColumn>
<dxwgv:GridViewDataTextColumn Caption="销售合同" FieldName="XshtCode"
VisibleIndex="7">
<DataItemTemplate>
<asp:TextBox ID="txt_XshtCode" runat="server" Text='<%# Eval("XshtCode") %>'></asp:TextBox>
</DataItemTemplate>
</dxwgv:GridViewDataTextColumn>
<dxwgv:GridViewDataTextColumn Caption="原币单价" FieldName="YbPrice"
VisibleIndex="8">
<DataItemTemplate>
<asp:TextBox ID="txt_YbPrice" runat="server" style='ime-mode:disabled;' onkeypress="return noNumbers(this,event,true);"
onkeyup="calculateMoney(this)" Text='<%# Eval("YbPrice") %>'></asp:TextBox>
</DataItemTemplate>
</dxwgv:GridViewDataTextColumn>
<dxwgv:GridViewDataTextColumn Caption="原币含税单价" FieldName="YbhsPrice"
VisibleIndex="9">
<DataItemTemplate>
<asp:TextBox ID="txt_YbhsPrice" runat="server" style='ime-mode:disabled;' onkeypress="return noNumbers(this,event,true);"
Text='<%# Eval("YbhsPrice") %>'></asp:TextBox>
</DataItemTemplate>
</dxwgv:GridViewDataTextColumn>
<dxwgv:GridViewDataTextColumn Caption="原币金额" FieldName="YbJe"
VisibleIndex="10">
<DataItemTemplate>
<asp:TextBox ID="txt_YbJe" runat="server" style='ime-mode:disabled;' onkeypress="return noNumbers(this,event,true);"
Text='<%# Eval("YbJe") %>'></asp:TextBox>
</DataItemTemplate>
</dxwgv:GridViewDataTextColumn>
<dxwgv:GridViewDataTextColumn Caption="到货数量" FieldName="Count"
VisibleIndex="11">
<DataItemTemplate>
<asp:TextBox ID="txt_Count" runat="server"
onkeypress="return noNumbers(this,event,true);" style="ime-mode:disabled;"
Text='<%# Eval("Count") %>'></asp:TextBox>
</DataItemTemplate>
</dxwgv:GridViewDataTextColumn>
</Columns>
<Settings ShowGroupPanel="false" ShowHorizontalScrollBar="true" />
<SettingsBehavior AllowGroup="false" AllowSort="false" AllowFocusedRow="true" />
<SettingsText CommandCancel="取消" CommandClearFilter="清空过滤" CommandDelete="删除"
CommandEdit="编辑" CommandNew="新建" CommandSelect="选择" CommandUpdate="更新"
ConfirmDelete="确认删除" />
</dxwgv:ASPxGridView>
我想实现的效果是:填写完毕数量和原币单价后,含税单价和原币金额自动计算,即:含税单价=原币单价*税率(默认17%);原币金额=含税单价*数量。
下面是我写的一段js
function calculateMoney(obj) {
var rowObj = obj.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode;
var objPrice = rowObj.childNodes[7].getElementsByTagName("INPUT")[0];
var objQty = rowObj.childNodes[10].getElementsByTagName("INPUT")[0];
var objMoney = rowObj.childNodes[9].getElementsByTagName("INPUT")[0];
objMoney.value = parseFloat(objPrice.value) * parseFloat(objQty.value);
}
运行以后提示objPrice,objQty,objMoney 都是为null的对象,取不到对应的值。已经郁闷了好久,这个是最终最靠边的方法,可却取不到值,请大家帮帮忙...
AutoGenerateColumns="False" KeyFieldName="id" Width="100%"
onbeforecolumnsortinggrouping="Grid_Dhlist_BeforeColumnSortingGrouping"
onpageindexchanged="Grid_Dhlist_PageIndexChanged"
onrowdeleting="Grid_Dhlist_RowDeleting">
<Columns>
<dxwgv:GridViewCommandColumn VisibleIndex="0">
<DeleteButton Visible="True">
</DeleteButton>
</dxwgv:GridViewCommandColumn>
<dxwgv:GridViewDataTextColumn Caption="序号" FieldName="id" ReadOnly="true"
VisibleIndex="1">
<DataItemTemplate>
<asp:TextBox ID="txt_id" runat="server" ReadOnly="true"
Text='<%# Eval("id") %>'></asp:TextBox>
</DataItemTemplate>
</dxwgv:GridViewDataTextColumn>
<dxwgv:GridViewDataTextColumn Caption="存货编码" FieldName="GoodsCode"
ReadOnly="True" VisibleIndex="2">
<DataItemTemplate>
<asp:TextBox ID="txt_GoodsCode" runat="server" ReadOnly="true"
Text='<%# Eval("GoodsCode") %>'></asp:TextBox>
</DataItemTemplate>
</dxwgv:GridViewDataTextColumn>
<dxwgv:GridViewDataTextColumn Caption="存货名称" FieldName="GoodsName"
ReadOnly="True" VisibleIndex="3">
<DataItemTemplate>
<asp:TextBox ID="txt_GoodsName" runat="server" ReadOnly="true"
Text='<%# Eval("GoodsName") %>'></asp:TextBox>
</DataItemTemplate>
</dxwgv:GridViewDataTextColumn>
<dxwgv:GridViewDataTextColumn Caption="规格型号" FieldName="SizeModel"
ReadOnly="True" VisibleIndex="4">
<DataItemTemplate>
<asp:TextBox ID="txt_SizeModel" runat="server" ReadOnly="true"
Text='<%# Eval("SizeModel") %>'></asp:TextBox>
</DataItemTemplate>
</dxwgv:GridViewDataTextColumn>
<dxwgv:GridViewDataTextColumn Caption="技术参数" FieldName="TechPara"
ReadOnly="True" VisibleIndex="5">
<DataItemTemplate>
<asp:TextBox ID="txt_TechPara" runat="server" ReadOnly="true"
Text='<%# Eval("TechPara") %>'></asp:TextBox>
</DataItemTemplate>
</dxwgv:GridViewDataTextColumn>
<dxwgv:GridViewDataTextColumn Caption="单位" FieldName="Unit" VisibleIndex="6">
<DataItemTemplate>
<asp:TextBox ID="txt_Unit" runat="server" ReadOnly="true"
Text='<%# Eval("Unit") %>'></asp:TextBox>
</DataItemTemplate>
</dxwgv:GridViewDataTextColumn>
<dxwgv:GridViewDataTextColumn Caption="销售合同" FieldName="XshtCode"
VisibleIndex="7">
<DataItemTemplate>
<asp:TextBox ID="txt_XshtCode" runat="server" Text='<%# Eval("XshtCode") %>'></asp:TextBox>
</DataItemTemplate>
</dxwgv:GridViewDataTextColumn>
<dxwgv:GridViewDataTextColumn Caption="原币单价" FieldName="YbPrice"
VisibleIndex="8">
<DataItemTemplate>
<asp:TextBox ID="txt_YbPrice" runat="server" style='ime-mode:disabled;' onkeypress="return noNumbers(this,event,true);"
onkeyup="calculateMoney(this)" Text='<%# Eval("YbPrice") %>'></asp:TextBox>
</DataItemTemplate>
</dxwgv:GridViewDataTextColumn>
<dxwgv:GridViewDataTextColumn Caption="原币含税单价" FieldName="YbhsPrice"
VisibleIndex="9">
<DataItemTemplate>
<asp:TextBox ID="txt_YbhsPrice" runat="server" style='ime-mode:disabled;' onkeypress="return noNumbers(this,event,true);"
Text='<%# Eval("YbhsPrice") %>'></asp:TextBox>
</DataItemTemplate>
</dxwgv:GridViewDataTextColumn>
<dxwgv:GridViewDataTextColumn Caption="原币金额" FieldName="YbJe"
VisibleIndex="10">
<DataItemTemplate>
<asp:TextBox ID="txt_YbJe" runat="server" style='ime-mode:disabled;' onkeypress="return noNumbers(this,event,true);"
Text='<%# Eval("YbJe") %>'></asp:TextBox>
</DataItemTemplate>
</dxwgv:GridViewDataTextColumn>
<dxwgv:GridViewDataTextColumn Caption="到货数量" FieldName="Count"
VisibleIndex="11">
<DataItemTemplate>
<asp:TextBox ID="txt_Count" runat="server"
onkeypress="return noNumbers(this,event,true);" style="ime-mode:disabled;"
Text='<%# Eval("Count") %>'></asp:TextBox>
</DataItemTemplate>
</dxwgv:GridViewDataTextColumn>
</Columns>
<Settings ShowGroupPanel="false" ShowHorizontalScrollBar="true" />
<SettingsBehavior AllowGroup="false" AllowSort="false" AllowFocusedRow="true" />
<SettingsText CommandCancel="取消" CommandClearFilter="清空过滤" CommandDelete="删除"
CommandEdit="编辑" CommandNew="新建" CommandSelect="选择" CommandUpdate="更新"
ConfirmDelete="确认删除" />
</dxwgv:ASPxGridView>
我想实现的效果是:填写完毕数量和原币单价后,含税单价和原币金额自动计算,即:含税单价=原币单价*税率(默认17%);原币金额=含税单价*数量。
下面是我写的一段js
function calculateMoney(obj) {
var rowObj = obj.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode;
var objPrice = rowObj.childNodes[7].getElementsByTagName("INPUT")[0];
var objQty = rowObj.childNodes[10].getElementsByTagName("INPUT")[0];
var objMoney = rowObj.childNodes[9].getElementsByTagName("INPUT")[0];
objMoney.value = parseFloat(objPrice.value) * parseFloat(objQty.value);
}
运行以后提示objPrice,objQty,objMoney 都是为null的对象,取不到对应的值。已经郁闷了好久,这个是最终最靠边的方法,可却取不到值,请大家帮帮忙...
<tr>
<td><div id="ASPxPageControl1_Grid_Dhlist_DXHorzScrollDiv" style="width:1px;overflow:auto;overflow-x:scroll;">
<table id="ASPxPageControl1_Grid_Dhlist_DXMainTable" class="dxgvTable" cellspacing="0" cellpadding="0" onclick="aspxGVTableClick('ASPxPageControl1_Grid_Dhlist', event);" border="0" style="width:100%;border-collapse:collapse;empty-cells:show;TABLE-LAYOUT:fixed;overflow:hidden;">
<colgroup>
<col width="100px" /><col width="100px" /><col width="100px" /><col width="100px" /><col width="100px" /><col width="100px" /><col width="100px" /><col width="100px" /><col width="100px" /><col width="100px" /><col width="100px" /><col width="100px" /><col />
</colgroup><tr id="ASPxPageControl1_Grid_Dhlist_DXHeadersRow">
<td id="ASPxPageControl1_Grid_Dhlist_DXTDcol0" class="dxgvHeader" onmousedown="aspxGVHeaderMouseDown('ASPxPageControl1_Grid_Dhlist', this, event);" style="width:100px;border-left-width:0px;border-top-width:0px;"><table cellspacing="0" cellpadding="0" border="0" style="width:100%;border-collapse:collapse;">
<tr>
<td>#</td>
</tr>
</table></td><td id="ASPxPageControl1_Grid_Dhlist_DXTDcol1" class="dxgvHeader" onmousedown="aspxGVHeaderMouseDown('ASPxPageControl1_Grid_Dhlist', this, event);" style="width:100px;border-left-width:0px;border-top-width:0px;"><table cellspacing="0" cellpadding="0" border="0" style="width:100%;border-collapse:collapse;">
<tr>
<td>序号</td>
</tr>
</table></td><td id="ASPxPageControl1_Grid_Dhlist_DXTDcol2" class="dxgvHeader" onmousedown="aspxGVHeaderMouseDown('ASPxPageControl1_Grid_Dhlist', this, event);" style="width:100px;border-left-width:0px;border-top-width:0px;"><table cellspacing="0" cellpadding="0" border="0" style="width:100%;border-collapse:collapse;">
<tr>
<td>存货编码</td>
</tr>
</table></td><td id="ASPxPageControl1_Grid_Dhlist_DXTDcol3" class="dxgvHeader" onmousedown="aspxGVHeaderMouseDown('ASPxPageControl1_Grid_Dhlist', this, event);" style="width:100px;border-left-width:0px;border-top-width:0px;"><table cellspacing="0" cellpadding="0" border="0" style="width:100%;border-collapse:collapse;">
<tr>
<td>存货名称</td>
</tr>
</table></td><td id="ASPxPageControl1_Grid_Dhlist_DXTDcol4" class="dxgvHeader" onmousedown="aspxGVHeaderMouseDown('ASPxPageControl1_Grid_Dhlist', this, event);" style="width:100px;border-left-width:0px;border-top-width:0px;"><table cellspacing="0" cellpadding="0" border="0" style="width:100%;border-collapse:collapse;">
<tr>
<td>规格型号</td>
</tr>
</table></td><td id="ASPxPageControl1_Grid_Dhlist_DXTDcol5" class="dxgvHeader" onmousedown="aspxGVHeaderMouseDown('ASPxPageControl1_Grid_Dhlist', this, event);" style="width:100px;border-left-width:0px;border-top-width:0px;"><table cellspacing="0" cellpadding="0" border="0" style="width:100%;border-collapse:collapse;">
<tr>
<td>技术参数</td>
</tr>
</table></td><td id="ASPxPageControl1_Grid_Dhlist_DXTDcol6" class="dxgvHeader" onmousedown="aspxGVHeaderMouseDown('ASPxPageControl1_Grid_Dhlist', this, event);" style="width:100px;border-left-width:0px;border-top-width:0px;"><table cellspacing="0" cellpadding="0" border="0" style="width:100%;border-collapse:collapse;">
<tr>
<td>单位</td>
</tr>
</table></td><td id="ASPxPageControl1_Grid_Dhlist_DXTDcol7" class="dxgvHeader" onmousedown="aspxGVHeaderMouseDown('ASPxPageControl1_Grid_Dhlist', this, event);" style="width:100px;border-left-width:0px;border-top-width:0px;"><table cellspacing="0" cellpadding="0" border="0" style="width:100%;border-collapse:collapse;">
<tr>
<td>销售合同</td>
</tr>
</table></td><td id="ASPxPageControl1_Grid_Dhlist_DXTDcol8" class="dxgvHeader" onmousedown="aspxGVHeaderMouseDown('ASPxPageControl1_Grid_Dhlist', this, event);" style="width:100px;border-left-width:0px;border-top-width:0px;"><table cellspacing="0" cellpadding="0" border="0" style="width:100%;border-collapse:collapse;">
<tr>
<td>原币单价</td>
</tr>
</table></td><td id="ASPxPageControl1_Grid_Dhlist_DXTDcol9" class="dxgvHeader" onmousedown="aspxGVHeaderMouseDown('ASPxPageControl1_Grid_Dhlist', this, event);" style="width:100px;border-left-width:0px;border-top-width:0px;"><table cellspacing="0" cellpadding="0" border="0" style="width:100%;border-collapse:collapse;">
<tr>
<td>原币含税单价</td>
</tr>
</table></td><td id="ASPxPageControl1_Grid_Dhlist_DXTDcol10" class="dxgvHeader" onmousedown="aspxGVHeaderMouseDown('ASPxPageControl1_Grid_Dhlist', this, event);" style="width:100px;border-left-width:0px;border-top-width:0px;"><table cellspacing="0" cellpadding="0" border="0" style="width:100%;border-collapse:collapse;">
<tr>
<td>原币金额</td>
</tr>
</table></td><td id="ASPxPageControl1_Grid_Dhlist_DXTDcol11" class="dxgvHeader" onmousedown="aspxGVHeaderMouseDown('ASPxPageControl1_Grid_Dhlist', this, event);" style="width:100px;border-left-width:0px;border-top-width:0px;"><table cellspacing="0" cellpadding="0" border="0" style="width:100%;border-collapse:collapse;">
<tr>
<td>到货数量</td>
</tr>
</table></td>
</tr><tr class="dxgvEmptyDataRow">
<td class="dxgv" colspan="12" style="border-bottom-width:0px;"><div>
No data to display
</div></td>
</tr>
</table>数据是后添加的,并不是从数据库取来的,我是想实现单价和数量填写完以后,原币金额和含税单价自动计算的效果
类似
'ASPxGridView1_cell19_2_txtVerityVoucherNo'
来做针对的操作。
cell19_2 9是行2是列,你自己看怎么遍历下就可以了。
var voucher=document.getElementById('ASPxGridView1_cell19_2_txtVerityVoucherNo');
绑定到前台就可以了
{
txtbox.value=txt1.value*txt2.value;
}<asp:GridView ID="GridView1" runat="server" onrowdatabound="GridView1_RowDataBound">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:TextBox ID="txt_YbPrice" runat="server"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:TextBox ID="txt_Count" runat="server"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:TextBox ID="txt_total" runat="server"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView> protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
TextBox txt_YbPrice = e.Row.FindControl("txt_YbPrice") as TextBox;
TextBox txt_Count = e.Row.FindControl("txt_Count") as TextBox;
TextBox txt_total = e.Row.FindControl("txt_total") as TextBox;
txt_YbPrice.Attributes.Add("onblur", "calculateMoney(" + txt_YbPrice.ClientID + "," + txt_Count.ClientID + "," + txt_total.ClientID + ")");
txt_Count.Attributes.Add("onblur", "calculateMoney(" + txt_YbPrice.ClientID + "," + txt_Count.ClientID + "," + txt_total.ClientID + ")"); }
}