using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
///
/// A field generator which creates dynamic gridview columns.
///
public class ColGen : IAutoFieldGenerator
{
string[] languages;
///
/// Initializes a new to generate columns for the specified languages.
///
/// The languages for which to generate columns.
public ColGen(string[] languages) {
this.languages = languages;
}
#region IAutoFieldGenerator Members
System.Collections.ICollection IAutoFieldGenerator.GenerateFields(Control control) {
List fields = new List();
foreach(string lang in languages) {
TemplateField fld = new TemplateField();
fld.SortExpression = lang;
try {
fld.HeaderText = System.Globalization.CultureInfo.GetCultureInfoByIetfLanguageTag(lang).EnglishName + "
(" + lang + ")";
} catch {
fld.HeaderText = lang;
}
fld.ItemTemplate = new GridViewTemplate(ListItemType.Item, lang);
fld.FooterTemplate = new GridViewTemplate(ListItemType.Footer, lang);
fld.ItemStyle.CssClass = "ssCell";
fields.Add(fld);
}
return fields;
}
#endregion
}