如何在 ext.net 的 gridpanel 的组件列中显示/隐藏项目?
Posted
技术标签:
【中文标题】如何在 ext.net 的 gridpanel 的组件列中显示/隐藏项目?【英文标题】:How to show/hide an item in a component column in gridpanel in ext.net? 【发布时间】:2014-02-20 07:41:25 【问题描述】:我有这个网格面板:
<ext:GridPanel ID="GridPanel1" runat="server" Width="300px" Height="200px" Header="false">
<Store>
<ext:Store ID="Store1" runat="server">
<Model>
<ext:Model ID="Model1" runat="server">
<Fields>
<ext:ModelField Name="Name" Type="String" />
</Fields>
</ext:Model>
</Model>
</ext:Store>
</Store>
<ColumnModel>
<Columns>
<ext:ComponentColumn ID="comColName" runat="server" Flex="1" Text="Name">
<Component>
<ext:Container ID="container" runat="server" Layout="HBoxLayout">
<Items>
<ext:TextField ID="txt1" runat="server" Flex="1"></ext:TextField>
<ext:Button ID="btn1" runat="server" Width="22px" Icon="Add">
</ext:Button>
</Items>
</ext:Container>
</Component>
</ext:ComponentColumn>
</Columns>
</ColumnModel>
</ext:GridPanel>
而后面的代码是:
protected void Page_Load(object sender, EventArgs e)
this.Store1.DataSource = new object[]
new object[] ,
new object[] ,
new object[] ,
new object[] ,
new object[] ,
new object[]
;
this.Store1.DataBind();
截图如下:
我想要做的是在开始时只显示文本字段,然后在单击文本字段时在右侧显示添加按钮。此时应隐藏所有其他按钮。 我该怎么做?我想使用客户端脚本来实现这一点。请帮忙。在编辑列单元格时隐藏另一列也可能有效。谢谢。
【问题讨论】:
在我这边,你的代码什么也没显示??! 好的,我已经为 store 和 codebehind 添加了代码。 【参考方案1】:示例
<%@ Page Language="C#" %>
<%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
if (!X.IsAjaxRequest)
this.Store1.DataSource = new object[]
new object[] ,
new object[] ,
new object[]
;
</script>
<!DOCTYPE html>
<html>
<head runat="server">
<title>Ext.NET v2 Example</title>
</head>
<body>
<form runat="server">
<ext:ResourceManager runat="server" />
<ext:GridPanel
runat="server"
Width="300"
Height="200">
<Store>
<ext:Store ID="Store1" runat="server">
<Model>
<ext:Model runat="server">
<Fields>
<ext:ModelField Name="Name" />
</Fields>
</ext:Model>
</Model>
</ext:Store>
</Store>
<ColumnModel>
<Columns>
<ext:ComponentColumn runat="server" Flex="1" Text="Name">
<Component>
<ext:Container runat="server" Layout="HBoxLayout">
<Items>
<ext:TextField runat="server" Flex="1">
<Listeners>
<Focus Handler="this.ownerCt.getComponent('AddButton').show();" />
<Blur Handler="this.ownerCt.getComponent('AddButton').hide();" />
</Listeners>
</ext:TextField>
<ext:Button
runat="server"
ItemID="AddButton"
Width="22"
Icon="Add"
Hidden="true" />
</Items>
</ext:Container>
</Component>
</ext:ComponentColumn>
</Columns>
</ColumnModel>
</ext:GridPanel>
</form>
</body>
</html>
顺便说一句,您可能想使用 TextField 的 RightButtons 集合。这是example。
【讨论】:
以上是关于如何在 ext.net 的 gridpanel 的组件列中显示/隐藏项目?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Ext.Net 中隐藏 Gridpanel GroupCommand
Ext.Net学习笔记17:Ext.Net GridPanel Selection
如何在 GridPanel Ext.net Razor 中按名称获取值
Ext.Net学习笔记14:Ext.Net GridPanel Grouping用法