コード例 #1
0
        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;
            }
        }
コード例 #2
0
        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();
        }