public static bool CheckComplexListField(TermEdit termEdit) { return termEdit.TermHandler == TermHandler.ComplexListField; }
protected override void LoadViewState(object savedState) { base.LoadViewState(savedState); _termEdit = (TermEdit)ViewState[_KH_VS_TERM_EDIT]; }
protected void grdFieldList_RowCommand(object sender, GridViewCommandEventArgs e) { int rowIndex = Convert.ToInt32(e.CommandArgument); Guid fieldID = (Guid)grdFieldList.DataKeys[rowIndex].Value; int fieldIndex = FindFieldIndex(fieldID, _template.ComplexLists, Term.ID); Predicate<Term> pcomp = delegate(Term c) { return (c.ID == Term.ID); }; Business.ComplexList complexList = null; switch (e.CommandName) { case Common.Names._GRID_COMMAND_EditRow: ComplexListField f = ((ComplexList)_template.ComplexLists.Find(pcomp)).FindField((Guid)grdFieldList.DataKeys[rowIndex].Value); //IsChanged related change if (IsChanged) Context.Items[Common.Names._CNTXT_IsChanged] = true; Context.Items[Common.Names._CNTXT_Template] = _template; BaseTermEditPage.TermEdit termEdit = new TermEdit(); termEdit.EditMode = EditMode.Edit; termEdit.TermHandler = TermHandler.ComplexListField; termEdit.TermIndex = TermIndex; termEdit.ComplexListFieldIndex = fieldIndex; Context.Items[Common.Names._CNTXT_TermEdit] = termEdit; Server.Transfer(Helper.TemplateTermEditPage(f.FilterTerm.TermType)); break; case Common.Names._GRID_COMMAND_DeleteRow: complexList = Term as Business.ComplexList; complexList.Fields.RemoveAt(rowIndex); complexList.DeleteItemValue(fieldID); IsChanged = false; //Do this to suppress the 'navigate from page' warning. BindGrid(complexList.Fields); IsChanged = true; break; case Common.Names._GRID_COMMAND_SingleClick: case Common.Names._GRID_COMMAND_DoubleClick: complexList = Term as Business.ComplexList; ViewState[Common.Names._CNTXT_SelectedTermGroupIndex] = rowIndex; BindGrid(complexList.Fields); SetMoveUpDownButtonEvents(grdFieldList, btnTermGroupMoveUp, btnTermGroupMoveDown); break; default: break; } }
private void GetContextData() { _termEdit = (TermEdit)Context.Items[Common.Names._CNTXT_TermEdit]; switch (_termEdit.TermHandler) { case TermHandler.BasicTerm: _termEdit.Term = _template.BasicTerms[_termEdit.TermIndex]; break; case TermHandler.ComplexList: _termEdit.Term = _template.ComplexLists[_termEdit.TermIndex]; break; case TermHandler.ComplexListField: ComplexList complexList = _template.ComplexLists[_termEdit.TermIndex] as ComplexList; _termEdit.ComplexListField = complexList.Fields[_termEdit.ComplexListFieldIndex]; _termEdit.OldFieldName = _termEdit.ComplexListField.Name; _termEdit.Term = _termEdit.ComplexListField.FilterTerm; _termEdit.Term.BigText = _termEdit.ComplexListField.BigText ?? false; _termEdit.Term.Summary = _termEdit.ComplexListField.Summary ?? false; break; case TermHandler.ComplexListItem: break; } if (_termEdit.Term == null) throw new Exception("The term was not found in this template."); }
// grid for complex list fields protected void btnAdd_Command(object sender, CommandEventArgs e) { if ((string)e.CommandArgument == "Field") { Context.Items[Common.Names._CNTXT_Template] = _template; BaseTermEditPage.TermEdit termEdit = new TermEdit(); termEdit.EditMode = EditMode.Add; termEdit.TermHandler = TermHandler.ComplexListField; termEdit.TermIndex = TermIndex; Context.Items[Common.Names._CNTXT_TermEdit] = termEdit; Server.Transfer("TermAdd.aspx", true); return; } }