使用telerik radgrid中的列的值更新telerik radgrid外部的文本框

本文关键字:radgrid telerik 外部 文本 更新 使用 | 更新日期: 2023-09-27 17:49:29

概述如下:1. RadGrid使用数据库中的值生成2. RadGrid中的一列是"itemtemplate复选框列",在加载时未选中3.有一个文本框外面的RadGrid需要更新以下值(总行检查)

如果用户选中了一个复选框,rowcount必须更新为textbox。

请协助。

safie .

使用telerik radgrid中的列的值更新telerik radgrid外部的文本框

这是一个解决方案,它应该被触发尽快复选框已选中或未选中

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;
} 
如果您有什么问题请告诉我。

试试这个:

itemTemplate复选框中,让auto-postback trueonCheckedChange event计算Grid选中的行数,并用该数字更新textbox's text。例如:

<ItemTemplate>
    <asp:CheckBox ID="CheckBox1" runat="server" OnCheckedChanged="ToggleRowSelection" AutoPostBack="True" />
</ItemTemplate>

现在,取一个RadAjaxManager和它的ajax settings加上gridview,传递UpdatedControls中的textbox名称,传递textbox's Idgrid's Id。例如:

<AjaxSettings>
        <telerik:AjaxSetting AjaxControlID="GridId">
            <UpdatedControls>
                <telerik:AjaxUpdatedControl ControlID="TextBoxId" LoadingPanelID="RadAjaxLoadingPanel1" />
        <telerik:AjaxUpdatedControl ControlID="GridId" LoadingPanelID="RadAjaxLoadingPanel1" />
            </UpdatedControls>
        </telerik:AjaxSetting>
</AjaxSettings>

In .cs page

protected void ToggleSelectedState(object sender, EventArgs e)
{
    // Count the grid's checked rows and update texbox here.
}

谢谢