При выводе таблицы через datagridview выводит навигационное поле как один из столбцов. как это убрать или добавить название команды к каждому игроку?
Хочу вывести таблицу игроков, но вместе со столбцами выводится навигационное поле, как его убрать или добавить вывод команд к каждому игроку?
class Player
{
public int Id { get; set; }
public string Name { get; set; }
public int Age { get; set; }
public virtual ICollection<Team> Teams { get; set; }
public Player()
{
Teams = new List<Team> ();
}
}
class Team
{
public int Id { get; set; }
public string Name { get; set; }
public string Coach { get; set; }
public virtual ICollection<Player> Players { get; set; }
public Team()
{
Players = new List<Player> ();
}
}
public partial class Soccer_Players : Form
{
SoccerContext db;
public Soccer_Players()
{
InitializeComponent();
db = new SoccerContext();
db.Players.Load();
db.Teams.Load();
dataGridView1.DataSource = db.Players.Local.ToBindingList();
}
private void button1_Click(object sender, EventArgs e)
{
_Player plForm = new _Player();
List<Team> teams = db.Teams.ToList();
plForm.listBox1.DataSource = teams;
plForm.listBox1.ValueMember = "Id";
plForm.listBox1.DisplayMember = "Name";
DialogResult result = plForm.ShowDialog(this);
if (result == DialogResult.Cancel)
return;
Player player = new Player();
player.Age = (int)plForm.numericUpDown1.Value;
player.Name = plForm.textBox1.Text;
teams.Clear();
foreach (var item in plForm.listBox1.SelectedItems)
{
teams.Add((Team)item);
}
player.Teams = teams;
db.Players.Add(player);
db.SaveChanges();
MessageBox.Show("Новый игрок добавлен");
}
private void button2_Click(object sender, EventArgs e)
{
if (dataGridView1.SelectedRows.Count < 1)
return;
int index = dataGridView1.SelectedRows[0].Index;
int id = 0;
bool converted = Int32.TryParse(dataGridView1[0, index].Value.ToString(), out id);
if (converted == false)
return;
Player player = db.Players.Find(id);
_Player plForm = new _Player();
plForm.numericUpDown1.Value = player.Age;
plForm.textBox1.Text = player.Name;
List<Team> teams = db.Teams.ToList();
plForm.listBox1.DataSource = teams;
plForm.listBox1.ValueMember = "Id";
plForm.listBox1.DisplayMember = "Name";
foreach (Team t in player.Teams)
plForm.listBox1.SelectedItem = t;
DialogResult result = plForm.ShowDialog(this);
if (result == DialogResult.Cancel)
return;
player.Age = (int)plForm.numericUpDown1.Value;
player.Name = plForm.textBox1.Text;
foreach (var team in teams)
{
if (plForm.listBox1.SelectedItems.Contains(team))
{
if (!player.Teams.Contains(team))
player.Teams.Add(team);
}
else
{
if (player.Teams.Contains(team))
player.Teams.Remove(team);
}
}
db.Entry(player).State = EntityState.Modified;
db.SaveChanges();
MessageBox.Show("Информация обновлена");
}
private void button3_Click(object sender, EventArgs e)
{
if (dataGridView1.SelectedRows.Count < 1)
return;
int index = dataGridView1.SelectedRows[0].Index;
int id = 0;
bool converted = Int32.TryParse(dataGridView1[0, index].Value.ToString(), out id);
if (converted == false)
return;
Player player = db.Players.Find(id);
db.Players.Remove(player);
db.SaveChanges();
MessageBox.Show("Футболист удален");
}
private void button4_Click(object sender, EventArgs e)
{
_Team tmForm = new _Team();
DialogResult result = tmForm.ShowDialog(this);
if (result == DialogResult.Cancel)
return;
Team team = new Team();
team.Name = tmForm.textBox1.Text;
team.Coach = tmForm.textBox2.Text;
team.Players = new List<Player>();
db.Teams.Add(team);
db.SaveChanges();
MessageBox.Show("Новая команда добавлена");
}
}
