protected internal BaseSchemeEasySearch(ITableScheme scheme, string idField, string nameField, bool canCache) { TkDebug.AssertArgumentNull(scheme, "scheme", null); TkDebug.AssertArgument(scheme is IDisplayObject, "scheme", "scheme需要支持IDisplayObject接口", scheme); fDisplay = scheme.Convert <IDisplayObject>(); TkDebug.Assert(fDisplay.SupportDisplay, "scheme的SupportDisplay必须为true,当前是false", scheme); SourceScheme = scheme; fDisplay = new TempDisplay(fDisplay, scheme, idField, nameField); if (canCache) { canCache = idField == null && nameField == null; } if (canCache) { fScheme = new EasySearchProxyScheme(scheme, fDisplay); } else { fScheme = new NoCacheEasySearchProxyScheme(scheme, fDisplay); } ValueField = fDisplay.Id; NameField = fDisplay.Name; }
//protected override void AddCodeTable(IPageStyle style, Dictionary<string, CodeTable> codeTables) //{ // base.AddCodeTable(style, codeTables); // const string CodeName = "CodeSex"; // if (!codeTables.ContainsKey(CodeName)) // { // CodeTable ct = PlugInFactoryManager.CreateInstance<CodeTable>( // CodeTablePlugInFactory.REG_NAME, CodeName); // codeTables.Add(CodeName, ct); // } //} public static ITableSchemeEx CreateSchema() { SchemaConfig config = new SchemaConfig(); config.ReadXml(XML); ITableScheme scheme = config.Schema.CreateObject(); return(scheme.Convert <ITableSchemeEx>()); }
protected BaseSchemeCodeTable(ITableScheme scheme) { TkDebug.AssertArgumentNull(scheme, "scheme", null); TkDebug.AssertArgument(scheme is IDisplayObject, "scheme", "scheme需要支持IDisplayObject接口", scheme); fScheme = scheme; fDisplay = scheme.Convert <IDisplayObject>(); TkDebug.Assert(fDisplay.SupportDisplay, "scheme的SupportDisplay必须为true,当前是false", scheme); }