public object SelectFieldValue(string name, bool useExternalValues) { object v = null; if ((_page != null) && (_row != null)) { v = _page.SelectFieldValue(name, _row); } else if (Arguments != null) { foreach (FieldValue av in Arguments.Values) { if (av.Name == name) { return(av.Value); } } } if ((v == null) && useExternalValues) { v = SelectExternalFilterFieldValue(name); } return(v); }
public void PopulateManyToManyField(string fieldName, string primaryKeyField, string targetController, string targetForeignKey1, string targetForeignKey2) { string filter = String.Format("{0}:={1}", targetForeignKey1, SelectFieldValue(primaryKeyField)); PageRequest request = new PageRequest(0, 300, null, new string[] { filter }); request.RequiresMetaData = true; ViewPage page = ControllerFactory.CreateDataController().GetPage(targetController, null, request); StringBuilder sb = new StringBuilder(); foreach (object[] row in page.Rows) { if (sb.Length > 0) { sb.Append(","); } sb.Append(page.SelectFieldValue(targetForeignKey2, row)); } UpdateFieldValue(fieldName, sb.ToString()); }