2014-01-05 3 views
1
<asp:GridView ID="GVFeedType" runat="server" Style="margin-bottom: 6px" BorderColor="#BDBDBD" 
    CssClass="center" Width="500px" AutoGenerateColumns="false"> 
    <EmptyDataTemplate> 
     No Records found</EmptyDataTemplate> 
    <Columns> 
     <asp:BoundField HeaderText="SNo" DataField="SNo" ItemStyle-Width="50px" /> 
     <asp:BoundField HeaderText="Feed Type" DataField="FeedType" ItemStyle-Width="200px" /> 
     <asp:TemplateField HeaderText="Rate/Kg" ItemStyle-Width="80px" ItemStyle-HorizontalAlign="Center"> 
      <ItemTemplate> 
       <asp:TextBox ID="txtrate" runat="server" Width="100px" OnTextChanged="txtrate_TextChanged" 
        AutoPostBack="true" /> 
       <asp:RequiredFieldValidator ID="RFVrecdate1" runat="server" ControlToValidate="txtrate" 
        Display="None" ErrorMessage="Must Enter Rate" ValidationGroup="duereport"></asp:RequiredFieldValidator> 

      </ItemTemplate> 
     </asp:TemplateField> 
     <asp:TemplateField HeaderText="Rate/50 Kg" ItemStyle-Width="80px"> 
      <ItemTemplate> 
       <asp:Label ID="lbl50kg" runat="server" /> 
      </ItemTemplate> 
     </asp:TemplateField> 
    </Columns> 
</asp:GridView> 

Я попробовал этот код ..Как умножить значение текстового поля с помощью javascript?

protected void txtrate_TextChanged(object sender, EventArgs e) 
{ 

    GridViewRow currentRow = (GridViewRow)(sender as TextBox).Parent.Parent; 
    float rate = 0; 
    float kgrate50 = 50; 

    rate = Convert.ToSingle((sender as TextBox).Text.Trim()); 
    kgrate50 = rate * kgrate50; 
    (currentRow.Cells[3].FindControl("lbl50kg") as Label).Text = kgrate50.ToString(); 
    GVFeedType.Rows[currentRow.RowIndex + 1].Cells[2].FindControl("txtrate").Focus(); 
} 

Этот код прекрасно, Tab не работает ... у меня есть текстовое поле в элементе управления сетки, когда я ввести некоторое значение, как 2,3, 4 .. затем он умножается на 50 ... и он показывает вывод в контроле с помощью lable .. там же метка также в виде сетки. Как я могу ее решить. Пожалуйста, помогите мне ..

ответ

0

Я бы добавил класс CSs в текстовое поле

<asp:TextBox ID="txtrate" runat="server" CssClass="TextBoxToHandle" Width="100px" OnTextChanged="txtrate_TextChanged" 
        AutoPostBack="true" /> 

С момента использования события фокуса вкладок вам необходимо подписаться на него

$(function(){ 
    $(".TextBoxToHandle").focusout(function(){ 
    //Do your code here this would be element which you focus left 
    }); 
}) 
Смежные вопросы