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

时间:2012-12-26 12:12:52

标签: c# asp.net telerik-grid

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

如果用户选中复选框,则必须将rowcount更新为文本框。

亲切的帮助。

safie。

2 个答案:

答案 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 trueonCheckedChange 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>

由于