private void AppendFirstLetterExpressions(StringBuilder sb, ViewPage page, SelectClauseDictionary expressions, string substringFunction) { foreach (DataField field in page.Fields) if ((!(field.Hidden) && field.AllowQBE) && (field.Type == "String")) { string fieldName = field.AliasName; if (String.IsNullOrEmpty(fieldName)) fieldName = field.Name; sb.AppendFormat("distinct {1}({0},1,1) first_letter__\r\n", expressions[fieldName], substringFunction); page.FirstLetters = fieldName; page.RemoveFromFilter(fieldName); break; } }