Dec 07, 2013, 5:25 AM
[CLOSED] how to add a blank row to the selected node of gridpanel
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="product_type.aspx.cs" Inherits="extdemo.admin.pages.product_type" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<script type="text/javascript">
var r_p_product_type = function (v, meta, record) {
var r = App.s_p_t.getById(v);
if (!Ext.isEmpty(r)) {
return r.get("type");
} else {
return v;
}
};
var r_p_product_type1 = function (v, meta, record) {
if (!Ext.isEmpty(record)) {
return record.get('type'); // Use parentNode of current record
}
return v;
};
</script>
</head>
<body>
<form id="form1" runat="server">
<ext:ResourceManager runat="server" SourceFormatting="True"></ext:ResourceManager>
<ext:Store runat="server" ID="s_p_t">
<Model>
<ext:Model ID="Model1" runat="server">
<Fields>
<ext:ModelField Name="id"></ext:ModelField>
<ext:ModelField Name="type"></ext:ModelField>
<ext:ModelField Name="pid"></ext:ModelField>
</Fields>
</ext:Model>
</Model>
<Listeners>
<Load Handler="#{tp_product_type}.view.refresh();"></Load>
</Listeners>
</ext:Store>
<ext:Viewport runat="server">
<Items>
<ext:TreePanel ID="tp_product_type" runat="server" Title="商品类别管理">
<Store>
<ext:TreeStore runat="server" ID="ts_product_type">
<Model>
<ext:Model ID="Model3" runat="server">
<Fields>
<ext:ModelField Name="id"></ext:ModelField>
<ext:ModelField Name="type"></ext:ModelField>
<ext:ModelField Name="pid"></ext:ModelField>
</Fields>
</ext:Model>
</Model>
</ext:TreeStore>
</Store>
<TopBar>
<ext:Toolbar runat="server">
<Items>
<ext:Button runat="server" Text="新增" Icon="Add">
<Listeners>
<Click Handler="
var selection = #{RowSelectionModel1}.getSelection()[0];
// here how to get the selected node, and apeend a child blank node to the node?
">
</Click>
</Listeners>
</ext:Button>
</Items>
</ext:Toolbar>
</TopBar>
<ColumnModel>
<Columns>
<ext:Column runat="server" DataIndex="id" Text="编号"></ext:Column>
<ext:TreeColumn runat="server" DataIndex="type" Text="类别" Flex="1">
<Editor>
<ext:TextField runat="server"></ext:TextField>
</Editor>
</ext:TreeColumn>
<ext:Column runat="server" DataIndex="pid" Text="父类别" Flex="1">
<Renderer Fn="r_p_product_type" />
<Editor>
<ext:DropDownField runat="server" ID="ddf_ptype" Mode="ValueText">
<Component>
<ext:TreePanel runat="server" ID="tp_product_type1">
<Store>
<ext:TreeStore runat="server" ID="TreeStore1">
<Model>
<ext:Model ID="Model2" runat="server">
<Fields>
<ext:ModelField Name="id"></ext:ModelField>
<ext:ModelField Name="type"></ext:ModelField>
<ext:ModelField Name="pid"></ext:ModelField>
</Fields>
</ext:Model>
</Model>
</ext:TreeStore>
</Store>
<ColumnModel>
<Columns>
<ext:TreeColumn runat="server" DataIndex="type" Flex="1">
</ext:TreeColumn>
</Columns>
</ColumnModel>
<Listeners>
<ItemClick Handler="
this.dropDownField.setValue(record.data.id, record.data.type, false);
this.dropDownField.collapse();
">
</ItemClick>
</Listeners>
</ext:TreePanel>
</Component>
</ext:DropDownField>
</Editor>
</ext:Column>
</Columns>
</ColumnModel>
<Plugins>
<ext:CellEditing runat="server">
<DirectEvents>
<BeforeEdit OnEvent="SelectPtype" Before="
return el.activeColumn.dataIndex == 'pid';
">
</BeforeEdit>
</DirectEvents>
</ext:CellEditing>
</Plugins>
<SelectionModel>
<ext:RowSelectionModel ID="RowSelectionModel1" runat="server" Mode="Multi" />
</SelectionModel>
</ext:TreePanel>
</Items>
</ext:Viewport>
</form>
</body>
</html>
i through the code var selection = #{RowSelectionModel1}.getSelection()[0];
get the selected model, it return the Ext.data.Model , how to get the selected node through Ext.data.Model?and then i can call node.appendChild method.
Last edited by Daniil; Dec 13, 2013 at 5:54 AM.
Reason: [CLOSED]