|
一个客户问我可否给他做一个关联表单,也就说在Add/Edit一条list item的时候,其中一个Customer field/column是lookup field,在这个Customer field/column里面选择一个值以后,另一个相关联的Customer Address Field/column的内容从另一个LIST去读取,并且可以编辑。 听起来很简单,非常类似于ASP.Net的Cascading dropdownlist但在SharePoint实现的时候需要考虑比较多的东西: 1. NewItem/EditItem是动态产生的,其中的这个lookup field的实现是根据它原始list的记录数变化的。比如out-of-box下,20条以下记录时,这个Lookup field表现为Select input html control。20条以上时就成了一个composite control,基本上是一个text html input control + imagebutton + dynamically generated hidden selection。如果这个lookup field/column索引的原始list是个external list那么更麻烦,这个lookup field成了一个picker。 2. 这个Lookup field表现为Select input html control的时候好办,处理起来效率也高。composite control的时候也可以做到,但在选项变化的时候没办法直接wire up to the hidden select's change event,只能hook up PropertyChanged event,原因我还没找到。这个实现的效率很低,可能微软内部实现有问题。如果这个lookup field/column成了一个picker,这个我还没尝试。 你们是怎么处理、实现这种关联选项的? [ 本帖最后由 混不到坑的萝卜 于 2011-12-4 22:11 编辑 ] |