Aug 21, 2012, 10:17 AM
[CLOSED] What happens is the previously selected (and valid) value populates.....
Hi,
The thread is related to:
http://forums.ext.net/showthread.php?18195
Regarding the question.
plz help me~
What happens is the previously selected (and valid) value populates the 'this.LinqDataSource1.WhereParameters["DrFileName"].DefaultValue'
1
this.LinqDataSource1.WhereParameters["DrFileName"].DefaultValue = id ?? "-1";
first. Treepanel node Click -> it doesn't change a value of the parameter. : Gridpanel -> no result.
and then. once again that node click -> it change a value of the parameter. : Gridpanel1 -> viewing result
Please Help Me~
what's problem?
The thread is related to:
http://forums.ext.net/showthread.php?18195
Regarding the question.
plz help me~
What happens is the previously selected (and valid) value populates the 'this.LinqDataSource1.WhereParameters["DrFileName"].DefaultValue'
1
this.LinqDataSource1.WhereParameters["DrFileName"].DefaultValue = id ?? "-1";
first. Treepanel node Click -> it doesn't change a value of the parameter. : Gridpanel -> no result.
and then. once again that node click -> it change a value of the parameter. : Gridpanel1 -> viewing result
Please Help Me~
what's problem?
<%@ Page Language="C#" %>
<%@ Import Namespace="Panel=Ext.Net.Panel" %>
<%@ Import Namespace="Ext.Net.Utilities" %>
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
SiteMapNode siteNode = SiteMap.RootNode;
TreeNode root = this.CreateNode(siteNode);
root.Draggable = false;
root.Expanded = true;
AsyncTreeNode childNode = new AsyncTreeNode();
childNode.Leaf = false;
childNode.Expandable = Ext.Net.ThreeStateBool.True;
//dynamic tree root
TreePanel1.Root.Add(this.CreateNodeWithOutChildren(siteNode));
this.DataBind();
}
protected void Store1_Refresh(object sender, StoreRefreshDataEventArgs e)
{
string id = e.Parameters["No"];
if (!string.IsNullOrEmpty(id))
{
this.LinqDataSource1.WhereParameters["No"].DefaultValue = id ?? "-1";
this.Store1.DataBind();
}
else
{
this.LinqDataSource1.WhereParameters["No"].DefaultValue = "-1";
this.Store1.DataBind();
}
}
protected void LinqDataSource1_Selecting(object sender, LinqDataSourceSelectEventArgs e)
{
e.WhereParameters["No"] = this.HiddenNo.Value ?? "-1";
}
protected void RowSelect(object sender, DirectEventArgs e)
{
string ID = e.ExtraParams["ID"];
}
</script>
<script type="text/javascript">
var loadPage = function (tabPanel, node) {
var tab = tabPanel.getItem(node.id);
if (!tab) {
tab = tabPanel.add({
id: 'Pages1',
title: node.text,
closable: true,
autoLoad: {
showMask: true,
url: "Viewer.aspx?IDK=" + node.attributes.href,
mode: "iframe",
maskMsg: "Loading " + node.attributes.description + "..."
},
listeners: {
update: {
fn: function (tab, cfg) {
cfg.iframe.setHeight(cfg.iframe.getSize().height - 20);
},
scope: this,
single: true
}
}
});
}
tabPanel.setActiveTab(tab); ;
}
var getId = function (treeId) {
var tree = Ext.getCmp(treeId),
node,
id = "no selection";
if (tree) {
node = tree.getSelectionModel().getSelectedNode();
if (node) {
id = node.attributes.qtip;
}
}
return id;
};
</script>
<title>Test</title>
</head>
<body>
<form id="Form1" runat="server">
<ext:ResourceManager
ID="ResourceManager1"
runat="server"
DirectMethodNamespace="X"
IDMode="Explicit"
>
</ext:ResourceManager>
<ext:Hidden ID="HiddenNo" runat="server" />
<asp:LinqDataSource
ID="LinqDataSource1"
runat="server"
ContextTypeName="ListDataContext"
TableName="Lists"
Where="No == @No"
OnSelecting="LinqDataSource1_Selecting"
OrderBy="ID ASC" EntityTypeName=""
>
<WhereParameters>
<asp:Parameter Name="No" DefaultValue="-1" Type="String" />
</WhereParameters>
</asp:LinqDataSource>
<ext:Store ID="Store1"
runat="server"
AutoLoad="false"
SerializationMode="Simple"
DataSourceID="LinqDataSource1"
OnRefreshData="Store1_Refresh"
RefreshAfterSaving="None">
<Proxy>
<ext:PageProxy />
</Proxy>
<AutoLoadParams>
<ext:Parameter Name="start" Value="0" Mode="Raw" />
<ext:Parameter Name="limit" Value="50" Mode="Raw" />
</AutoLoadParams>
<DirectEventConfig>
<EventMask ShowMask="false" />
</DirectEventConfig>
<Reader>
<ext:JsonReader IDProperty="ID">
<Fields>
<ext:RecordField Name="ID" />
<ext:RecordField Name="No" />
<ext:RecordField Name="DESCRIPTION" />
<ext:RecordField Name="Quantity" />
</Fields>
</ext:JsonReader>
</Reader>
<BaseParams>
<ext:Parameter
Name="DrNo"
Value="getId('#{TreePanel1}')"
Mode="Raw"
/>
</BaseParams>
<Listeners>
<LoadException Handler="Ext.Msg.alert('Load failed', (!Ext.isEmpty(e) && !Ext.isEmpty(e.message)) ? e.message : response.statusText);" />
</Listeners>
</ext:Store>
<ext:Viewport ID="Viewport1" runat="server" StyleSpec="background-color: transparent;" Layout="BorderLayout">
<Items>
<ext:TreePanel
ID="TreePanel1"
runat="server" >
<Listeners>
<Click Handler="if (node.attributes.href){
e.stopEvent();
#{HiddenNo}.setValue(getId(this.id));
#{store1}.reload();
#{FormPanel1}.getForm().reset();
#{East}.expand();
loadPage(#{Pages}, node);
}
" />
</Listeners>
<Loader>
<ext:PageTreeLoader OnNodeLoad="LoadPages" Timeout="120000">
</ext:PageTreeLoader>
</Loader>
</ext:TreePanel>
<ext:TabPanel ID="Pages"
runat="server" >
<Items>
<ext:Panel
ID="Pages1"
runat="server"
>
<AutoLoad Mode="IFrame" Url="Viewer.aspx" ShowMask="true" NoCache="true" DiscardUrl="true"
</AutoLoad>
</ext:Panel>
</Items>
</ext:TabPanel>
<ext:Panel
ID="East"
runat="server"
Region="East"
Collapsible="true"
Split="true"
MinWidth="300"
Width="300"
Layout="Fit"
Collapsed="true">
<Items>
<ext:RowLayout ID="RowLayout1" runat="server" Split="true">
<Rows>
<ext:LayoutRow RowHeight="0.6">
<ext:GridPanel
ID="GridPanel1"
runat="server"
Border="false"
StripeRows="true"
Icon="Table"
Title="Part List"
Frame="True"
BufferResize="250"
StoreID="store1"
>
<LoadMask ShowMask="true" />
<SelectionModel>
<ext:RowSelectionModel ID="RowSelectionModel1" runat="server" SingleSelect="true">
<Listeners>
<RowSelect Handler="#{FormPanel1}.getForm().loadRecord(record);#{FormPanel1}.record = record;" />
</Listeners>
</ext:RowSelectionModel>
</SelectionModel>
<ColumnModel ID="ColumnModel1" runat="server">
<Columns>
<ext:Column
ColumnID="NO"
Header="No."
Sortable="true"
DataIndex="No"
Width="70px"
>
</ext:Column>
<ext:Column
ColumnID="DESCRIPTION"
Header="Description"
Sortable="true"
DataIndex="DESCRIPTION"
Width="400px">
</ext:Column>
</Columns>
</ColumnModel>
<LoadMask ShowMask="true" />
<BottomBar>
<ext:PagingToolbar ID="PagingToolbar1" runat="server" StoreID="Store1" PageSize="50" />
</BottomBar>
</ext:GridPanel>
</ext:LayoutRow>
<ext:LayoutRow RowHeight="0.4">
<ext:FormPanel
ID="FormPanel1"
runat="server"
Split="true"
Margins="0 5 5 5"
Frame="true"
Title="Part Information"
Icon="table"
DefaultAnchor="100%">
<Items>
<ext:Hidden ID="ID" runat="server" DataIndex="ID" />
<ext:TextArea ID="DESCRIPTION" runat="server" Height="50" FieldLabel="DESCRIPTION" DataIndex="DESCRIPTION"/>
<ext:TextField ID="No" runat="server" FieldLabel="No" DataIndex="No"/>
<ext:TextField ID="Qty" runat="server" FieldLabel="Quantity" DataIndex="Quantity" />
</Items>
</ext:FormPanel>
</ext:LayoutRow>
</Rows>
</ext:RowLayout>
</Items>
<Listeners>
<BeforeShow Handler="#{East}.Collapsed=false;" />
</Listeners>
</ext:Panel>
</Items>
</ext:Viewport>
</form>
</body>
Last edited by Daniil; Aug 22, 2012 at 6:27 AM.
Reason: [CLOSED]