# HG changeset patch # User IBBoard # Date 1275335063 0 # Node ID 08271d6569fa6d3e5b890103ddbc8cf67054d87c # Parent d3f498514122fbc662b55870094f552e3a141bfb Fixes #287: New DataGridView crashes FrmUnit under Mono * Make sure that columns are explicitly defined and not implicitly created * Add proper stat line name column translation diff -r d3f498514122 -r 08271d6569fa FrmUnit.cs --- a/FrmUnit.cs Mon May 31 19:05:01 2010 +0000 +++ b/FrmUnit.cs Mon May 31 19:44:23 2010 +0000 @@ -159,19 +159,35 @@ { StatSlot stat = statsWithName[i]; string slotName = stat.Name; + statsGrid.Columns.Add(CreateStatColumn(slotName, columnWidth)); dt.Columns.Add(CreateDataColumn(slotName)); - DataGridViewColumn col = statsGrid.Columns[i]; - col.Width = columnWidth; - col.CellTemplate = new StatsDataGridViewCell(); } - DataGridViewColumn nameColumn = statsGrid.Columns[0]; - nameColumn.Name = Translation.GetTranslation("UnitName", "Name"); - nameColumn.Width = statsGrid.Width - (statsCount * columnWidth); + int otherStatsWidth = statsCount * columnWidth; + SetNameColumnWidth(statsGrid, otherStatsWidth); return statsGrid; } + private static DataGridViewColumn CreateStatColumn(string slotName, int columnWidth) + { + DataGridViewColumn col = new DataGridViewTextBoxColumn(); + col.Width = columnWidth; + col.Name = slotName; + col.HeaderText = slotName; + col.DataPropertyName = slotName; + col.CellTemplate = new StatsDataGridViewCell(); + return col; + } + + private static void SetNameColumnWidth(DataGridView statsGrid, int otherStatsWidth) + { + + DataGridViewColumn nameColumn = statsGrid.Columns[0]; + nameColumn.HeaderText = Translation.GetTranslation("StatLineName", "name"); + nameColumn.Width = statsGrid.Width - otherStatsWidth; + } + private static DataColumn CreateDataColumn(string slotName) { log.DebugFormat("Create column {0}", slotName); diff -r d3f498514122 -r 08271d6569fa translations/en.translation --- a/translations/en.translation Mon May 31 19:05:01 2010 +0000 +++ b/translations/en.translation Mon May 31 19:44:23 2010 +0000 @@ -64,6 +64,7 @@ Thanks to: {0} ({1}) Unit size: + Type Name Equipment: Add Abilities: