Mar 27, 2013, 3:21 AM
GridPanel: selectedRow always = null
when i click a row, the selectedrow is always null
<head id="Head1" runat="server">
<title></title>
<script type="text/javascript">
var refreshTree = function (tree) {
App.direct.RefreshMenu({
success: function (result) {
var nodes = eval(result);
if (nodes.length > 0) {
tree.setRootNode(nodes[0]);
}
else {
tree.getRootNode().removeAll();
}
}
});
};
</script>
</head>
<body>
<form id="form1" runat="server">
<ext:ResourceManager ID="ResourceManager1" runat="server" />
<ext:Viewport ID="ViewPort1" runat="server" Layout="BorderLayout">
<Items>
<ext:Panel ID="Panel1" runat="server" Split="true" Layout="AccordionLayout" Region="West"
Width="300">
<LayoutConfig>
<ext:AccordionLayoutConfig OriginalHeader="true" />
</LayoutConfig>
<Items>
<ext:GridPanel ID="GridPanelRole" runat="server" Border="false" BodyPadding="6" Title="角色列表">
<Store>
<ext:Store ID="gvRoleStore" runat="server" RemoteSort="false" OnReadData="gvRoleStore_Refresh"
WarningOnDirty="false">
<Proxy>
<ext:PageProxy />
</Proxy>
<Model>
<ext:Model runat="server" IDProperty="Role_RoleId">
<Fields>
<ext:ModelField Name="Role_RoleId" />
<ext:ModelField Name="Role_Code" />
<ext:ModelField Name="Role_FullName" />
</Fields>
</ext:Model>
</Model>
</ext:Store>
</Store>
<ColumnModel ID="ColumnModel4" runat="server">
<Columns>
<ext:Column runat="server" Text="角色代码" DataIndex="Role_Code" />
<ext:Column runat="server" Text="角色名称" DataIndex="Role_FullName" />
</Columns>
</ColumnModel>
<SelectionModel>
<ext:RowSelectionModel runat="server" Mode="Single">
<Listeners>
<Select Handler="refreshTree(#{ModuleTree});" Delay="1" />
</Listeners>
<DirectEvents>
<Select>
<ExtraParams>
<ext:Parameter Name="Role_RoleId" Value="this.selModel.getSelection().id" Mode="Raw">
</ext:Parameter>
</ExtraParams>
</Select>
</DirectEvents>
</ext:RowSelectionModel>
</SelectionModel>
<TopBar>
<ext:Toolbar ID="Toolbar3" runat="server">
<Items>
<ext:TextField ID="txtRoleName" LabelAlign="Left" LabelWidth="50" FieldLabel="角色"
runat="server">
</ext:TextField>
<ext:Button ID="btnRoleSearch" runat="server" Text="查询" Icon="Find">
<Listeners>
<Click Handler="#{gvRoleStore}.reload();" />
</Listeners>
</ext:Button>
</Items>
</ext:Toolbar>
</TopBar>
</ext:GridPanel>
<ext:GridPanel ID="gpUserGridPanel" runat="server" Border="false" BodyPadding="6"
Title="用户列表" Icon="ApplicationViewColumns" TrackMouseOver="false">
<Store>
<ext:Store ID="StoreUser" runat="server" RemoteSort="false" OnReadData="gvUserStore_Refresh"
WarningOnDirty="false">
<Proxy>
<ext:PageProxy />
</Proxy>
<Model>
<ext:Model runat="server" IDProperty="User_UserId">
<Fields>
<ext:ModelField Name="User_LoginName" />
<ext:ModelField Name="User_RealName" />
<ext:ModelField Name="Department_DepartmentName" />
</Fields>
</ext:Model>
</Model>
</ext:Store>
</Store>
<ColumnModel ID="ColumnModel3" runat="server">
<Columns>
<ext:RowNumbererColumn runat="server" />
<ext:Column runat="server" Text="用户名" DataIndex="User_LoginName" />
<ext:Column runat="server" Text="姓名" DataIndex="User_RealName" />
<ext:Column runat="server" Text="部门" DataIndex="Department_DepartmentName" />
</Columns>
</ColumnModel>
<SelectionModel>
<ext:RowSelectionModel runat="server" Mode="Single">
<Listeners>
<Select Handler="refreshTree(#{ModuleTree});" />
</Listeners>
<DirectEvents>
<Select>
<ExtraParams>
<ext:Parameter Name="User_UserId" Value="this.selModel.getSelection().id" Mode="Raw">
</ext:Parameter>
</ExtraParams>
</Select>
</DirectEvents>
</ext:RowSelectionModel>
</SelectionModel>
<BottomBar>
<ext:PagingToolbar ID="PagingToolbarUser" runat="server" PageSize="20" />
</BottomBar>
<TopBar>
<ext:Toolbar ID="Toolbar6" runat="server" Layout="TableLayout">
<LayoutConfig>
<ext:TableLayoutConfig Columns="1" />
</LayoutConfig>
<Items>
<ext:Hidden ID="HiddenDepartmentCode" runat="server" />
<ext:DropDownField ID="DropDownFieldDepartment" runat="server" Editable="false" LabelAlign="Left"
LabelWidth="50" FieldLabel="部门" TriggerIcon="SimpleArrowDown" Width="270" Padding="5">
<Component>
<uc:DepartmentTree ID="DepartmentTree1" runat="server" Height="270">
<Listeners>
<ItemClick Handler="this.dropDownField.setValue(record.data.text, false);#{DropDownFieldDepartment}.collapse();#{HiddenDepartmentCode}.setValue(node.attributes.Code);#{StoreUser}.reload();" />
</Listeners>
</uc:DepartmentTree>
</Component>
</ext:DropDownField>
<ext:TextField ID="txtName" LabelAlign="Left" LabelWidth="50" FieldLabel="用户" Padding="5"
runat="server" EmptyText="请输入用户名" EnableKeyEvents="true">
<Listeners>
<KeyUp Handler="if (this.getRawValue().length >= 3 || e.getKey() == Ext.EventObject.ENTER) {#{gpUserGridPanel}.reload(); } " />
</Listeners>
</ext:TextField>
<ext:Button ID="btnUserSearch" runat="server" Text="查询" Icon="Find">
<Listeners>
<Click Handler="#{StoreUser}.reload();" />
</Listeners>
</ext:Button>
</Items>
</ext:Toolbar>
</TopBar>
</ext:GridPanel>
</Items>
</ext:Panel>
</ext:Viewport>
</form>
</body>
</html>
RowSelectionModel smr = this.GridPanelRole.GetSelectionModel() as RowSelectionModel;
RowSelectionModel smu = this.gpUserGridPanel.GetSelectionModel() as RowSelectionModel;
if (smr.SelectedRow != null)
{
HiddenType.Text = "r";
}
else if (smu.SelectedRow != null)
{
HiddenType.Text = "u";
}
please give some advices
Last edited by zhurui124; Mar 27, 2013 at 3:27 AM.