protected void gridView_RowUpdating(object sender, GridViewUpdateEventArgs e) { DataTable table = Unified.ToDataTable(true); string key = (string)table.Rows[e.RowIndex]["Key"]; for (int i = 1; i < gridView.Columns.Count; i++) { BoundField field = gridView.Columns[i] as BoundField; TextBox txt = gridView.Rows[e.RowIndex].Cells[i].Controls[0] as TextBox; Unified[field.DataField][key] = txt.Text; } }
private void FillGridView(string p, bool reloadFile) { if (Unified == null || reloadFile) { Unified = new ResXUnified(p); } gridView.Columns.Clear(); SortedList <string, string> langs = Unified.GetLanguages(); Unit columnSize = new Unit(Math.Round((gridView.Width.Value) / (langs.Values.Count)), UnitType.Percentage); ImageField keyColumn = new ImageField(); keyColumn.HeaderText = "Key"; keyColumn.DataAlternateTextField = "Key"; keyColumn.DataImageUrlField = "Key"; keyColumn.DataImageUrlFormatString = "~/App_Themes/" + Page.Theme + "/images/information.png"; // ignore key //keyColumn.DataField = "Key"; //keyColumn.ItemStyle.BackColor = Color.Gray; //keyColumn.ItemStyle.ForeColor = Color.White; keyColumn.ReadOnly = true; keyColumn.ItemStyle.Width = new Unit(30); keyColumn.ItemStyle.HorizontalAlign = HorizontalAlign.Left; keyColumn.ControlStyle.Width = new Unit(16, UnitType.Pixel); gridView.Columns.Add(keyColumn); foreach (string lang in langs.Values) { CultureInfo culture = null; try { culture = new CultureInfo(lang); } catch { } BoundField field = new BoundField { HeaderText = culture != null ? culture.DisplayName : @"Default", DataField = lang, ReadOnly = (culture == null) && !Roles.IsUserInRole("Administrator") }; field.ControlStyle.Width = new Unit(99, UnitType.Percentage); if (culture != null) { if (culture.TextInfo.IsRightToLeft) { field.ItemStyle.HorizontalAlign = HorizontalAlign.Right; field.ControlStyle.CssClass = "rtl"; } } if (lang == "Default") { gridView.Columns.Insert(1, field); } else if (culture.TwoLetterISOLanguageName.ToLower() == currEditLang.ToLower()) { currCultureName = culture.TextInfo.CultureName; gridView.Columns.Add(field); } } if (gridView.Columns.Count < 3 && !String.IsNullOrEmpty(currEditLang)) { try { if (!String.IsNullOrEmpty(currCultureName)) { ddLanguage.SelectedValue = currCultureName; } } catch (Exception) { //don't throw an error if it doesn't exist in the list } pnlAddLang.Visible = true; } else { pnlAddLang.Visible = false; } gridView.DataSource = Unified.ToDataTable(true); gridView.DataBind(); }