public override DataBindingAttributeDictionary ApplyExtension(DataBindingAttributeDictionary bindings, DataBindingMode currentMode) { if (!_validForModes.HasFlag(currentMode) || !bindings.Any(b => b.Key == _attributeName)) { return(bindings); } var valueBinding = bindings.First(b => b.Key == _attributeName); var extendedValueBinding = BuildExtensionString(valueBinding.Value.ToString()); bindings.SetAttribute(valueBinding.Key, extendedValueBinding); return(bindings); }
private static DataBindingAttributeDictionary BuildDataBindingAttributeDictionary(string dataSourceName, string valuePropertyName, ClientBindingLevel bindingLevel, string displayPropertyName, string optionsCaption) { if (dataSourceName == null) { throw new ArgumentNullException("dataSourceName"); } if (string.IsNullOrWhiteSpace(dataSourceName)) { throw new ArgumentException("Data source name cannot be empty.", "dataSourceName"); } if (displayPropertyName == null) { throw new ArgumentNullException("displayPropertyName"); } if (string.IsNullOrWhiteSpace(displayPropertyName)) { throw new ArgumentException("Display property name cannot be empty.", "displayPropertyName"); } var dataBindingAttributeDictionary = new DataBindingAttributeDictionary(); dataBindingAttributeDictionary.SetAttribute("options", string.Format("{0}.{1}", GetBindingScope(bindingLevel), dataSourceName)); dataBindingAttributeDictionary.SetAttribute("optionsText", string.Format("'{0}'", displayPropertyName)); if (!string.IsNullOrWhiteSpace(valuePropertyName)) { dataBindingAttributeDictionary.SetAttribute("optionsValue", string.Format("'{0}'", valuePropertyName)); } if (!string.IsNullOrEmpty(optionsCaption)) { dataBindingAttributeDictionary.SetAttribute("optionsCaption", string.Format("'{0}'", optionsCaption)); } return dataBindingAttributeDictionary; }
private static DataBindingAttributeDictionary BuildDataBindingAttributeDictionary(string attributes) { if (attributes == null) { throw new ArgumentNullException("attributes"); } var dictionary = new DataBindingAttributeDictionary(); foreach (var a in attributes.Split(',')) { var attr = a.Split(':'); dictionary.SetAttribute(attr[0], attr[1]); } return(dictionary); }
private static DataBindingAttributeDictionary BuildDataBindingAttributeDictionary(string attributeName, string attributeValue) { if (string.IsNullOrWhiteSpace(attributeName)) { throw new ArgumentNullException("attributeName"); } if (string.IsNullOrWhiteSpace(attributeValue)) { throw new ArgumentNullException("attributeValue"); } var dictionary = new DataBindingAttributeDictionary(); dictionary.SetAttribute(attributeName, attributeValue); return(dictionary); }