#winforms #entity-framework #datagridview
#winforms #entity-framework #datagridview
Вопрос:
У меня есть простая WinForm с DataGridView, которая показывает запись с Entity Framework. Моя проблема в том, что новая функция строки появляется только в том случае, если DataGridView пуст. В чем проблема?
Заранее благодарю вас.
Luis
PS Вот некоторые подробности о классе WinForm:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using GestioneFormazione;
namespace MpFormazione
{
public partial class MpFormazione : Form
{
public MpFormazione()
{
InitializeComponent();
this.dataGridView1.CellClick = DataGridView1_CellClick;
this.dataGridView1.AllowUserToAddRows = true;
this.dataGridView1.VirtualMode = true;
this.dataGridView1.AutoGenerateColumns = false;
}
private void DataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex == this.ButtonColumunIndex)
{
if (e.RowIndex == 0)
{
Cliente cliente = new Cliente();
cliente.ID = Guid.NewGuid();
if (dataGridView1.Rows[0].Cells[1].Value != null)
cliente.Nome = dataGridView1.Rows[0].Cells[1].Value.ToString();
SaveToDb(cliente);
}
}
}
private void SaveToDb(Cliente cliente)
{
using (var context = new MPFORMAZIONEEntities())
{
context.Cliente.Add(cliente);
context.SaveChanges();
}
}
private void clienteBindingSource_CurrentChanged(object sender, EventArgs e)
{
}
private void ClienteBindingSource_AddingNew(object sender, System.ComponentModel.AddingNewEventArgs e)
{
}
private int ButtonColumunIndex
{
get
{
return 2;
}
}
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
}
private void MpFormazione_Load(object sender, EventArgs e)
{
using (var context = new MPFORMAZIONEEntities())
{
this.dataGridView1.DataSource = context.Cliente.ToList<Cliente>();
}
}
}
}
На странице есть только этот код и Entity Framework для объектов «Cliente» и «Dipendente».
Комментарии:
1. Покажите нам соответствующие части вашего кода
2. Это пакеты.конфигурация <?xml version=»1.0″ encoding=»utf-8″?> <packages> <package id=»EntityFramework» version=»6.2.0″ targetFramework=»net461″ /> <package id=»EntityFramework.it» version=»6.2.0″ targetFramework=»net461″ /> </packages>
3. У меня проблема с вставкой кода на C #. Даже если он имеет правильный отступ, он всегда говорит мне, что что-то не так
4. Отредактируйте свой вопрос. При вводе кода на любом языке начинайте каждую строку кода с четырех пробелов. После маркеров происходит какая-то странная вещь. В этом случае: после маркеров добавьте некоторый текст (например, пробел) перед добавлением кода