在List中选中一个就会显示相应的 DataGrid 的列
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="horizontal" horizontalAlign="left"
creationComplete="initApp()">
<mx:Script><![CDATA[
import mx.controls.dataGridClasses.DataGridColumn;
//import mx.controls.DataGrid;
import mx.collections.XMLListCollection;
[Bindable]
private var _xlcCatalog:XMLListCollection; //the dataProvider for the DG
//run by creationComplete
public function initApp():void
{
_xlcCatalog = new XMLListCollection(xmlCatalog.product); //wrap the XML product nodes in an XMLListCollection
lstColumns.selectedItems = new Array(dgHideShow.columns[0]); //set the column list dataProvider to the DataGridColumns
}//initApp
private function hideShowColumns():void {
var aColumns:Array = dgHideShow.columns;
var aSelectedColumns:Array = lstColumns.selectedItems;
var dgc:DataGridColumn;
var sDataField:String;
var sDataFieldCur:String;
var bFound:Boolean
for (var i:int=0;i<aColumns.length;i++) {
bFound = false
dgc = aColumns[i];
sDataField = dgc.dataField;
for (var j:int=0;j<aSelectedColumns.length;j++) {
sDataFieldCur = aSelectedColumns[j].dataField;
if (sDataFieldCur == sDataField) {
bFound = true;
break;
}
}//for (var j:
if (bFound) {
dgc.visible = true;
}
else {
dgc.visible = false;
}
}// for (var i:
}//
]]></mx:Script>
<mx:VBox>
<mx:Label text="Multi-Select" />
<mx:Label text="Columns" />
<mx:List id="lstColumns" dataProvider="{dgHideShow.columns}"
labelField="dataField"
allowMultipleSelection="true"
click="hideShowColumns()" />
</mx:VBox>
<mx:DataGrid id="dgHideShow" dataProvider="{_xlcCatalog}" rowCount="6" >
<mx:columns>
<mx:Array>
<mx:DataGridColumn headerText="Product" dataField="name" visible="true" />
<mx:DataGridColumn headerText="Description" dataField="description" visible="false" />
<mx:DataGridColumn headerText="Price" dataField="price" visible="false" />
<mx:DataGridColumn headerText="Series" dataField="series" visible="false" />
<mx:DataGridColumn headerText="Tri-Band" dataField="triband" visible="false" />
<mx:DataGridColumn headerText="Camera" dataField="camera" visible="false" />
</mx:Array>
</mx:columns>
</mx:DataGrid>
<mx:XML id="xmlCatalog">
<catalog>
<product productId="1">
<name>Nokia 6010</name>
<description>Easy to use without sacrificing style, the Nokia 6010 phone offers functional voice communication supported by text messaging, multimedia messaging, mobile internet, games and more</description>
<price>99.99</price>
<image>assets/pic/Nokia_6010.gif</image>
<series>6000</series>
<triband>false</triband>
<camera>false</camera>
<video>false</video>
<highlight1>MMS</highlight1>
<highlight2>Large color display</highlight2>
</product>
<product productId="2">
<name>Nokia 3100 Blue</name>
<description>Light up the night with a glow-in-the-dark cover - when it's charged with light you can easily find your phone in the dark. When you get a call, the Nokia 3100 phone flashes in tune with your ringing tone. And when you snap on a Nokia Xpress-on™ gaming cover*, you'll get luminescent light effects in time to the gaming action.</description>
<price>139</price>
<image>assets/pic/Nokia_3100_blue.gif</image>
<series>3000</series>
<triband>true</triband>
<camera>false</camera>
<video>false</video>
<highlight1>Glow-in-the-dark</highlight1>
<highlight2>Flashing lights</highlight2>
</product>
<product productId="3">
<name>Nokia 3100 Pink</name>
<description>Light up the night with a glow-in-the-dark cover - when it's charged with light you can easily find your phone in the dark. When you get a call, the Nokia 3100 phone flashes in tune with your ringing tone. And when you snap on a Nokia Xpress-on™ gaming cover*, you'll get luminescent light effects in time to the gaming action.</description>
<price>139</price>
<image>assets/pic/Nokia_3100_pink.gif</image>
<series>3000</series>
<triband>true</triband>
<camera>false</camera>
<video>false</video>
<highlight1>Glow-in-the-dark</highlight1>
<highlight2>Flashing lights</highlight2>
</product>
<product productId="4">
<name>Nokia 3120</name>
<description>Designed for both business and pleasure, the elegant Nokia 3120 phone offers a pleasing mix of features. Enclosed within its chic, compact body, you will discover the benefits of tri-band compatibility, a color screen, MMS, XHTML browsing, cheerful screensavers, and much more.</description>
<price>159.99</price>
<image>assets/pic/Nokia_3120.gif</image>
<series>3000</series>
<triband>true</triband>
<camera>false</camera>
<video>false</video>
<highlight1>Multimedia messaging</highlight1>
<highlight2>Animated screensavers</highlight2>
</product>
<product productId="5">
<name>Nokia 3220</name>
<description>The Nokia 3220 phone is a fresh new cut on some familiar ideas - animate your MMS messages with cute characters, see the music with lights that flash in time with your ringing tone, download wallpapers and screensavers with matching color schemes for the interface.</description>
<price>159.99</price>
<image>assets/pic/Nokia_3220.gif</image>
<series>3000</series>
<triband>false</triband>
<camera>true</camera>
<video>false</video>
<highlight1>MIDI tones</highlight1>
<highlight2>Cut-out covers</highlight2>
</product>
</catalog>
</mx:XML>
</mx:Application>
分享到:
相关推荐
jquery easyui 扩展 datagrid 自定义动态隐藏显示列
1. **定义DataGrid列**: 在XAML中,你可以直接定义DataGrid的列。例如,假设我们有一个数据源类`MyClass`,其中有一个属性`ColumnName`,我们可以这样定义列: ```xml <DataGrid x:Name="myDataGrid"> ...
1. **获取DataGrid列** 要隐藏或显示特定列,首先需要获取该列。这可以通过循环遍历Columns集合或者直接通过Column Header Text或Name属性来实现。例如: ```csharp DataGridColumn column = dataGrid.Columns[...
在jQuery中,动态显示和隐藏`datagrid`中的某一列是一项常用的功能,这使得用户可以根据需要选择展示或隐藏数据列,从而提高数据展示的灵活性。在本文中,我们将深入探讨如何利用jQuery实现这一功能。 首先,我们...
同样,当用户想要显示隐藏的列时,只需改变Visible属性为true。 通过这种方式,我们可以在运行时根据用户需求动态调整DataGrid的列显示,提高了应用的灵活性和用户体验。这种技术广泛应用于数据展示需求变化频繁或...
在ASP.NET的DataGrid数据显示控件编程中,我们有几种方式可以增加DataGrid columns。...本文中将向大家介绍如何编程实现在运行时动态的增加和删除Columns列,其实是通过隐藏或者现实 Columns列来实现的。
根据这个数量,我们可以动态地调整当前列的`Header`和`Width`属性,以及隐藏或显示相应的列。此外,还可以利用`DataTrigger`或`MultiDataTrigger`来控制何时合并表头。 5. **代码示例**: ```xml <DataGrid> ...
在"WPF分页DataGrid"中介绍了如何实现分页功能,本文中介绍如果实现右键菜单。点击菜单项Age,将Age列隐藏,再点击则显示;并实现移动列后,同步显示。 详见:...
控制数据列表显示隐藏的checkbox是竖排显示,我改了横排显示。MedColumnObject用的, //GridViewColumn集合 ObservableCollection<DataGridColumn> collec=new ObservableCollection<DataGridColumn> ();我们控件...
1. 定义一个新的DataGrid列类,扩展`DataGridTextColumn`或其他列类型,添加自定义属性以存储合并信息。 2. 在XAML中,为每个需要合并的列设置自定义的`HeaderTemplate`和`CellTemplate`。 3. 在`HeaderTemplate`中...
总结,这个主题将指导开发者如何在Flex或Flash的MXML环境中,自定义DataGrid组件以强制显示分列线,即使在隐藏列头的情况下。通过深入学习和理解提供的源代码,开发者可以扩展这一技术,将其应用于更复杂和个性化的...
JavaScript代码段负责处理鼠标事件,实现`tooltip`的显示与隐藏逻辑。 ```javascript function Show(Country, City, Address, PostalCode, Phone, Fax) { document.getElementById("td1").innerText = "ń" + ...
- 将ArrayCollection设置为DataGrid的数据源,DataGrid会自动根据数据动态创建列。 2. **导入CSV文件**: - CSV(Comma Separated Values)是一种简单文本格式,易于读写和交换。 - 解析CSV文件可以使用AS3的...
这需要在后台代码中处理,通过设置行的Visibility属性来隐藏不需要显示的行。另外,可以自定义行模板,使用共享相同数据项的多个行模板来实现视觉上的行合并。 3. **合并单元格**: 单元格的合并涉及到更改单元格...
比如,你可能需要在用户点击其他控件(如按钮)时触发隐藏或显示行、列的操作,或者根据某些逻辑条件动态改变CheckBox的状态。 在提供的`WindowsFormsApplication1`项目中,你可能已经包含了处理这些功能的部分代码...
还可以隐藏或显示特定列,以满足不同场景下的需求。此外,某些列可以设置为可编辑,用户可以直接在表格中修改数据。 6. **事件处理**: 为了增强交互性,Bootstrap DataGrid提供了丰富的事件机制,如点击行、点击...
你可以通过`ScrollViewer.HorizontalScrollBarVisibility`属性控制其可见性,可选值有`Auto`(默认,根据需要显示)、`Visible`(始终显示)和`Hidden`(隐藏)。 3. **虚拟化技术** - 当数据集非常大时,数据虚拟...
此外,DataGrid还提供了行和列的添加、删除、隐藏和显示等操作。 二、DataGrid控件的创建与设置 在VC++环境中,可以通过资源编辑器或者代码动态创建DataGrid控件。在资源编辑器中,可以拖拽DataGrid控件到对话框上...
首先,创建DataGrid对象并设置其属性,然后动态创建Button和CheckBox对象,并将它们添加到DataGrid的行或单元格中。最后,注册事件处理程序,实现点击或状态改变时的逻辑。 8. **调试与测试**:由于WinCE环境的特殊...