Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将GridView列与文本框相乘_C#_Asp.net_.net - Fatal编程技术网

C# 如何将GridView列与文本框相乘

C# 如何将GridView列与文本框相乘,c#,asp.net,.net,C#,Asp.net,.net,我有GridView和一些数据: <asp:GridView ID="gvSelected" runat="server" AutoGenerateColumns = "False" Font-Names = "Arial" EmptyDataText = "No Records Selected"> <Columns> <asp:BoundField DataField = "ID" HeaderText = "ID" /> <asp:Bo

我有GridView和一些数据:

<asp:GridView ID="gvSelected" runat="server" 
AutoGenerateColumns = "False" Font-Names = "Arial" 
EmptyDataText = "No Records Selected">
<Columns>
  <asp:BoundField DataField = "ID" HeaderText = "ID" />
  <asp:BoundField DataField = "Name" HeaderText = "Name" />
  <asp:BoundField DataField = "Desc" HeaderText = "Description" />
  <asp:BoundField DataField = "Price" HeaderText = "Price" />
  <asp:TemplateField>
<ItemTemplate>
   <asp:TextBox ID="txtAmount" runat="server" Text="0"
               OnTextChanged="txtAmount_TextChanged" AutoPostBack="true">
  </asp:TextBox> 
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
   <asp:Label ID="lblResult" Text="0"  runat="server" /> 
</ItemTemplate>
</asp:TemplateField>
</Columns>
<HeaderStyle BackColor="Green"></HeaderStyle>
</asp:GridView>

我昨天做的。您可以根据您的要求修改此选项

ASPX:


希望这将对您有所帮助。请更新以获得进一步帮助。

如果使用完整,请检查答案,然后标记答案。我已根据我的要求进行了修改,因此它可以工作。谢谢你的帮助
protected void txtAmount_TextChanged(object sender, EventArgs e)  
    {
          TextBox amount= (TextBox)gvSelected.FindControl("txtAmount");
          Label result = (Label)gvSelected.FindControl("lblResult");
          score.Text = ((Convert.ToInt32(row)) * Convert.ToInt32(amount.Text)).ToString();
     }
<asp:GridView ID="Gridview1" runat="server" ShowFooter="True" AutoGenerateColumns="False" onrowdatabound="Gridview1_RowDataBound"
    ShowHeaderWhenEmpty="true" EmptyDataText="" CssClass="tabledata" Width="100%">
    <Columns>
        <asp:BoundField DataField="ID" HeaderText="Row Number" />
        <asp:TemplateField HeaderText="KMS Travelled">
            <ItemTemplate>
                <asp:TextBox ID="txtkms" runat="server" Width="50px"></asp:TextBox>
            </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField HeaderText="Rate/KM">
            <ItemTemplate>
                <asp:TextBox ID="txtrateperkm" runat="server" Width="40px"></asp:TextBox>
            </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField HeaderText="Bill Amt">
            <ItemTemplate>
                <asp:TextBox ID="billamt" runat="server" 
                    Width="60px"></asp:TextBox>
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>
protected void Page_Load(object sender, EventArgs e)
{
Employee emp = null;
List<Employee> listEmployee = new List<Employee>();
for (int i = 0; i < 1; i++)
{
    emp = new Employee();
    emp.ID = i;
    //emp.Age = "Age :" + i.ToString();
    //emp.Location = "Location :" + i.ToString();
    listEmployee.Add(emp);
}
Gridview1.DataSource = listEmployee;
Gridview1.DataBind();

 }

  protected void Gridview1_RowDataBound(object sender, GridViewRowEventArgs e)
  {
if (e.Row.RowType == DataControlRowType.DataRow)
{
    var txtkms = e.Row.FindControl("txtkms") as TextBox;
    var txtrateperkm = e.Row.FindControl("txtrateperkm") as TextBox;
    var billamt = e.Row.FindControl("billamt") as TextBox;
    var jsFunction = String.Format("CalculateBillAmount('{0}','{1}','{2}');", txtkms.ClientID, txtrateperkm.ClientID, billamt.ClientID);
    txtkms.Attributes.Add("onkeyup", jsFunction);
    txtkms.Attributes.Add("onblur", jsFunction);
    txtrateperkm.Attributes.Add("onkeyup", jsFunction);
    txtrateperkm.Attributes.Add("onblur", jsFunction);
}
}
 class Employee
 {
 public int ID { get; set; }
 }
function CalculateBillAmount(kmID, rateID, amtID) {
var objKm = document.getElementById(kmID), objRate = document.getElementById(rateID), objAmt = document.getElementById(amtID);
objAmt.value = +objKm.value * +objRate.value;
}