我有两件事需要在Radgrid的click事件上发生。我正在使用GridClientSelectColumn,因此如果用户单击该复选框,则应选择该行。同样,如果用户单击取消选中该复选框,则应取消选择该行。
我还需要计算所选行,并计算> 0,我需要禁用其他一些控件。
到目前为止,这是我的javascript。
function ChecklistsGrid_RowSelected(rowIndex) {
if (rowIndex == selectedRowIndex) {
window["<%= ChecklistsGrid.ClientID %>"].MasterTableView.DeselectRow(window["<%= ChecklistsGrid.ClientID %>"].MasterTableView.Rows[rowIndex].Control);
return false;
}
selectedRowIndex = rowIndex;
}
这是我的网格。
<telerik:RadGrid ID="ChecklistsGrid" runat="server" Skin="WF" ShowHeader="false" EnableEmbeddedSkins="false" OnItemDataBound="ChecklistsGrid_ItemDataBound" >
<ClientSettings EnableRowHoverStyle="true" EnableAlternatingItems="true">
<Selecting AllowRowSelect="True" />
<ClientEvents OnRowSelected="ChecklistsGrid_RowSelected" />
</ClientSettings>
<MasterTableView Width="100%" CommandItemDisplay="Bottom" AutoGenerateColumns="false" TableLayout="Fixed" >
<RowIndicatorColumn Visible="False">
<HeaderStyle Width="20px" />
</RowIndicatorColumn>
<ExpandCollapseColumn Resizable="False" Visible="False">
<HeaderStyle Width="20px" />
</ExpandCollapseColumn>
<Columns>
<telerik:GridClientSelectColumn UniqueName="ClientSelectColumn" HeaderStyle-Width="30" />
<telerik:GridBoundColumn HeaderText="Project - Package" UniqueName="ProjectPackages"></telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="Id" HeaderText="Checklist Id" HeaderStyle-Width="75" UniqueName="ChecklistId"></telerik:GridBoundColumn>
</Columns>
</MasterTableView>
<HeaderStyle BackColor="#666666" Font-Names="verdana, arial" Font-Size="Small" Height="20px" />
</telerik:RadGrid>
我应该提到的另一件事是在一个使用主页的页面中。
请帮忙。我被卡住了。我在应用程序中有3个不同的网格,我需要这样做。
谢谢,
朗达
答案 0 :(得分:2)
添加GridClientSelectColumn
:
<telerik:GridClientSelectColumn UniqueName="SelectColumn">
<HeaderStyle Width="27px" HorizontalAlign="Center" />
<ItemStyle HorizontalAlign="Center" />
</telerik:GridClientSelectColumn>
您收到的错误与母版页无关。这是因为您没有在JavaScript中正确引用RadGrid。
不要使用OnRowSelected
,而是尝试使用OnRowClick
并执行以下操作:
onRowClick = function(sender, args){
var grid = $find("<%=grdVendors.UniqueID%>");
if (grid){
var item = grid.get_masterTableView().get_dataItems()[args.get_itemIndexHierarchical()];
if (item.get_selected()){
item.set_selected(false);
}
}
}
我建议查看文档并熟悉客户端API。 Telerik拥有最好的支持团队之一,他们的论坛和知识库非常出色。
以下是客户端API参考的链接:
http://www.telerik.com/help/aspnet-ajax/grid-getting-familiar-with-client-side-api.html
以下是关于取消客户端行的文档:
http://www.telerik.com/help/aspnet-ajax/grid-gridtableview-deselectitem.html