On Text Changed 客户端事件在 telerik textBox 中访问一个值

On Text Changed Client side event in telerik textBox to access a value

您好,这里是 Telerik 网格。在它里面有两个名为登录时间和退出的文本框列。最后还有一个标签列,用于记录从登录到退出的时间。应该在其他两个文本框值更改时计算和显示。我应该怎么办 ? 下面的js函数在txtsignout文本框的onkeypress中被调用

var grid = $find("<%= rdgDriverTimeSheets.ClientID %>");
if (grid) {         
    var MasterTable = grid.get_masterTableView();
    var Rows = MasterTable.get_dataItems();
    for (var i = 0; i < Rows.length; i++) {
        var row = Rows[i];
        var signIn = row.findControl("txtSignIn").get_value();
        //var signOut = args.get_keyCharacter();
        var signOut = row.findControl("txtSignOut").get_value();
        // var hours = signOut - signIn;
        //row.findControl("lblHours").set_value(hours)
    }
}

<MasterTableView CommandItemDisplay="None" DataKeyNames="Id" EditFormSettings-EditColumn-Visible="false" EditFormSettings-EditColumn-Display="false" PageSize="20" AllowFilteringByColumn="false" AllowPaging="true">
    <PagerStyle Mode="NextPrevNumericAndAdvanced"></PagerStyle>
    <Columns>
        <telerik:GridBoundColumn DataField="Id" HeaderText="ID" ReadOnly="true" ItemStyle-Width="10px" Visible="false"></telerik:GridBoundColumn>
        <telerik:GridBoundColumn DataField="CustomerName" HeaderText="Customer" ReadOnly="true" ItemStyle-Width="150px"></telerik:GridBoundColumn>
        <telerik:GridBoundColumn DataField="AllocatedDate" HeaderText="Date" ReadOnly="true" ItemStyle-Width="80px" DataFormatString="{0:dd-MMM-yyyy}"></telerik:GridBoundColumn>
        <telerik:GridBoundColumn DataField="SignIn" HeaderText="Sign-In" ReadOnly="true" ItemStyle-Width="60px" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:HH:mm}">   </telerik:GridBoundColumn>
        <telerik:GridBoundColumn DataField="SignOut" HeaderText="Sign-Out" ReadOnly="true" ItemStyle-Width="60px" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:HH:mm}">      </telerik:GridBoundColumn>
        <telerik:GridTemplateColumn HeaderText="" ItemStyle-Width="50px" UniqueName="txtSignIn">
            <ItemTemplate>
                <telerik:RadTextBox ID="txtSignIn" runat="server" Width="50px"></telerik:RadTextBox>
            </ItemTemplate>
        </telerik:GridTemplateColumn>
        <telerik:GridTemplateColumn HeaderText="" ItemStyle-Width="50px" UniqueName="txtSignOut">
            <ItemTemplate>
                <telerik:RadTextBox ID="txtSignOut" runat="server" Width="50px"></telerik:RadTextBox>
            </ItemTemplate>
        </telerik:GridTemplateColumn>
        <telerik:GridTemplateColumn HeaderText="" ItemStyle-Width="50px">
            <ItemTemplate>
                <asp:Label ID="lblHours" runat="server" Width="50px" BorderColor="#000" BorderStyle="Solid" BorderWidth="1" Height="20px"></asp:Label>
            </ItemTemplate>
        </telerik:GridTemplateColumn>
        <telerik:GridTemplateColumn HeaderText="" ItemStyle-Width="50px">
            <ItemTemplate>
                <telerik:RadDropDownList ID="ddlServices" runat="server" Width="150px" DefaultMessage="Select..."></telerik:RadDropDownList>
            </ItemTemplate>
        </telerik:GridTemplateColumn>
    </Columns>
</MasterTableView>

请参考这个post,它与你的非常相似。

KeyPress event for RadNumeric Textbox in Radgrid for exchanging coloumn values

此外,请查看下方 link,这将帮助您在客户端获得控制权。

http://jayeshgoyani.blogspot.in/2012/07/access-radgrid-on-client.html#634843672348620742