这里是概述: 1.使用数据库中的值生成RadGrid 2. RadGrid中的一列是“itemtemplate复选框列”,在加载时未选中 3. RadGrid外部有一个文本框,需要使用以下值进行更新(检查总行数)
如果用户选中复选框,则必须将rowcount更新为文本框。
亲切的帮助。safie。
答案 0 :(得分:0)
这是一个解决方案,它应该被解雇ASAP复选框已被选中或取消选中。
function Checked() {
var grid = $find("<%=RadGrid1.ClientID %>");
var count = 0;
var masterTable = grid.get_masterTableView();
for (var i = 0; i < masterTable.get_dataItems().length; i++) {
var gridItemElement = masterTable.get_dataItems()[i].findElement("chkToFind");
if (gridItemElement.checked) {
count++;
}
}
//update the text box with count value
txtBox.value=count;
}
如果您有任何疑虑,请告诉我。
答案 1 :(得分:0)
试试这个:
在itemTemplate
复选框中,auto-postback true
和onCheckedChange event
计算Grid
的已检查行数,并使用该数字更新textbox's text
。例如:
<ItemTemplate>
<asp:CheckBox ID="CheckBox1" runat="server" OnCheckedChanged="ToggleRowSelection" AutoPostBack="True" />
</ItemTemplate>
现在,取一个RadAjaxManager
,其ajax settings
添加gridview
并在textbox
中传递UpdatedControls
名称,然后传递textbox's Id
和{ {1}}。例如:
grid's Id
在.cs页面
<AjaxSettings>
<telerik:AjaxSetting AjaxControlID="GridId">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="TextBoxId" LoadingPanelID="RadAjaxLoadingPanel1" />
<telerik:AjaxUpdatedControl ControlID="GridId" LoadingPanelID="RadAjaxLoadingPanel1" />
</UpdatedControls>
</telerik:AjaxSetting>
</AjaxSettings>
由于