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
您好,这里是 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