[备忘] spark datagrid itemeditor

现在网上关于 spark datagrid itemEditor的内容还不多,  大多还是用MX:datagrid或是 MX:itemEditor.

我的Application基于最新的 Flex SDK 4.5, 所以花了点时间, 翻译了文章, 做了一些资料收集, 并且定制 itemEditor.

这块, 最权威的还是Adobe官方的SPEC文档: Spark DataGrid Editing SPEC , 我已经翻译了这篇文章: http://www.smithfox.com/?e=168 .



默认Flex SDK 只提供了ComoboxGridItemEditor, 没有提供基于 DropDownList的 GridItemEditor, 所以我自己写了一个.

Demo如下, 源代码下载

如果你看不到flash, 你就直接到 http://www.smithfox.com/myopensource/datagrideditor/datagrid_itemeditor_test1.swf

但是, 正如 SPEC 上所说: 要想 itemeditor出现, 必须在 "已经选中的" 单元格上再次点击, 所以你需要点击两次, 这种用户习惯对于没有使用过Flex DataGrid的用户来说, 可能完全不知道单元格还有edit功能. 

所以我希望, 对任何一个单元格, 无论当前状态是 selected还是没有, 都只需要一次点击就可以出现 editor.

我找到了这篇文章: Single Click Cell Editing and More , 这是  Darrell Loverin  的Adobe Blog(这个Blog中有好几篇文章说的是 Spark DataGrid editing相关的, 非常值得关注!!)

根据他的思路, 改造效果如下, 源代码下载

如果你看不到flash, 你就直接到 http://www.smithfox.com/myopensource/datagrideditor/test10.swf

Darrell Loverin 的Blog上还写了一些非常有用的其它的 itemEditor, 比如 ColorPicker, DateField,

例子如下: 源文章的链接: http://blogs.adobe.com/dloverin/2011/05/single-click-editing-and-more.html

值得注意的是作者对于 DateField这类需要再次弹出控件的 ESCAPE keyevent事件的处理.

如果你看不到flash, 你就直接到 http://www.smithfox.com/myopensource/datagrideditor/test11.swf

直接用 itemRenderer作editor, 将直接由控件自身负责和数据绑定, 大概代码如下:

<s:DataGrid editable="true">
	<s:columns><s:ArrayList>
		<s:GridColumn dataField="folderpath" headerText="Folder" editable="false" rendererIsEditable="true" >
			<s:itemRenderer>
				<fx:Component>
					<s:GridItemRenderer>
						<s:TextInput text="@{data.folderpath}"  />
					</s:GridItemRenderer>
				</fx:Component>
			</s:itemRenderer>
		</s:GridColumn>
	</s:ArrayList></s:columns>
</s:DataGrid>

http://butterfliesandbugs.wordpress.com/2011/03/31/using-a-datefield-itemrenderer-for-a-spark-datagrid/

上面这个链接有一个简单的具体的例子.

另外, 还看到一个很入门很详细的英文专门说怎么用 spark datagrid的 editor的:

Exercise 4.5: Creating and using item renderers and item editors

Hans Muller's Blog近期有多篇文章和 spark DataGrid相关:

http://hansmuller-flex.blogspot.com/

smithfox | Sunday 24 July 2011 at 6:50 pm | | UI       

two comments

yiyi

good

yiyi, - 10-05-’12 17:35
best iphone 6 plus cases

The 64GB/2GB RAM version of the Surface 3 will run you $499, while the 128GB/4GB RAM version will cost $599. Keep in mind that this doesn’t include the price for the Type Cover or digital pen.

best iphone 6 plus cases, (URL) - 20-04-’15 18:34
(optional field)
(optional field)
为阻止垃圾广告, 请在提交评论前, 回答一个简单问题(Please answer an simple question)
Remember personal info?
Notify
Small print: All html tags except <b> and <i> will be removed from your comment. You can make links by just typing the url or mail-address.