private void mainFrm_Load(object sender, EventArgs e)
        {
            factions      = new FactionsSQL();
            factionMatrix = new FactionMatrixSQL();

            object[] dataSource = new object[2];
            for (int i = 0; i < factions.getFactionTable().Rows.Count; i++)
            {
                dataSource[0] = factions.getFactionTable().Rows[i]["faction_id"].ToString();
                dataSource[1] = factions.getFactionTable().Rows[i]["name"].ToString();

                dataGridView1.Rows.Add(dataSource);
            }
        }
        private void toolStripButton5_Click(object sender, EventArgs e)
        {
            dataGridView1.Rows.Clear();
            factions = new FactionsSQL();

            object[] dataSource = new object[2];
            for (int i = 0; i < factions.getFactionTable().Rows.Count; i++)
            {
                dataSource[0] = factions.getFactionTable().Rows[i]["faction_id"].ToString();
                dataSource[1] = factions.getFactionTable().Rows[i]["name"].ToString();

                dataGridView1.Rows.Add(dataSource);
            }
        }
        private void toolStripButton1_Click(object sender, EventArgs e)
        {
            DataRow tmp = factions.newRecord();

            object[] newRow = new object[2];
            newRow[0] = tmp["faction_id"].ToString();
            newRow[1] = tmp["name"].ToString();

            int newRowId = int.Parse(tmp["faction_id"].ToString());

            foreach (DataRow r in factions.getFactionTable().Rows)
            {
                int existingRowID = int.Parse(r["faction_id"].ToString());
                if (newRowId != existingRowID)
                {
                    DataRow dr = factionMatrix.newRecord(newRowId, existingRowID);

                    FactionMatrixProps fmp = new FactionMatrixProps();
                    fmp.ID             = int.Parse(dr["id"].ToString());
                    fmp.FactionID      = int.Parse(dr["faction_id"].ToString());
                    fmp.FactionEntryID = int.Parse(dr["faction_entry_id"].ToString());
                    fmp.BaseValue      = int.Parse(dr["base_value"].ToString());
                    fmp.CurrentValue   = int.Parse(dr["current_value"].ToString());
                    fmp.RewardFaction  = bool.Parse(dr["reward_faction"].ToString());

                    listBox1.Items.Clear();
                    props.Clear();
                    listBox1.Items.Add(r["name"].ToString());
                    props.Add(r["name"].ToString(), fmp);
                }
            }

            dataGridView1.Rows.Add(newRow);
            dataGridView1.Rows[dataGridView1.Rows.Count - 1].Selected = true;
            dataGridView1.CurrentCell = dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells[0];
        }