private void dataGridViewBuddies_CellValueChanged(object sender, DataGridViewCellEventArgs e) { if (mAnalyzerSettings == null) { return; } DataGridViewColumn col = dataGridViewBuddies.Columns[e.ColumnIndex]; DataGridViewRow row = dataGridViewBuddies.Rows[e.RowIndex]; DataBuddyInformation buddy = (DataBuddyInformation)row.Tag; AnalyzerSettings.PartyMemberSettings member_settings = mAnalyzerSettings[buddy.Name]; if (member_settings == null) { return; } if (dataGridViewBuddies.CurrentCell == null) { return; } bool was_dirty = false; if (col == dgcCharacterOffensiveStat) { was_dirty = SetValueIfDirty(row.Cells[e.ColumnIndex].Value, ref member_settings.OffensiveStat); } else if (col == dgcCharacterDefensiveStat) { was_dirty = SetValueIfDirty(row.Cells[e.ColumnIndex].Value, ref member_settings.DefensiveStat); } else if (col == dgcCharacterOptimize) { was_dirty = SetValueIfDirty(row.Cells[e.ColumnIndex].Value, ref member_settings.Score); } if (was_dirty) { RecomputeAllScores(); } }
private void UpdatePartyGrid(List <DataBuddyInformation> buddies) { mBuddyList.Collection = buddies; dataGridViewBuddies.Rows.Clear(); dataGridViewBuddies.Rows.Add(buddies.Count); int cur_row = 0; foreach (DataBuddyInformation info in buddies) { DataGridViewRow row = dataGridViewBuddies.Rows[cur_row]; row.Tag = info; row.Cells[dgcCharacterName.Name].Value = info.Name; row.Cells[dgcCharacterLevel.Name].Value = info.Level; row.Cells[dgcCharacterMaxLevel.Name].Value = info.LevelMax; AnalyzerSettings.PartyMemberSettings member_settings = mAnalyzerSettings[info.Name]; row.Cells[dgcCharacterOffensiveStat.Name].Value = member_settings.OffensiveStat; row.Cells[dgcCharacterDefensiveStat.Name].Value = member_settings.DefensiveStat; row.Cells[dgcCharacterOptimize.Name].Value = member_settings.Score; ++cur_row; } }