c# - 如何确保在datagridview中显示类别名称而不是id?
问题描述
嘿伙计们需要您对我尝试开发的 Windows 窗体应用程序的帮助,也就是说,我有一个绑定到类别表并正确显示类别名称的组合框,但是当提交新记录时,只显示类别 ID在 datagridview 但我想确保显示类别的名称而不是 Id。看下面的图片,我需要将 int(id of category) 更改为 string(name of category)下面的图片是我到目前为止的代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.Entity;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using ТестовоеЗадание.DAL;
namespace ТестовоеЗадание
{
public partial class РасходыForm : Form
{
private DatabaseEntities db = new DatabaseEntities();
Расходы model = new Расходы();
public РасходыForm()
{
InitializeComponent();
}
private void Расходы_Load(object sender, EventArgs e)
{
PopulateComboboxWithDataGrid();
}
void PopulateComboboxWithDataGrid()
{
dataGridView1.DataSource = db.Расходы.ToList();
cbxCategory.DataSource = db.КатегорииЗатрат.ToList();
cbxCategory.ValueMember = "Id";
cbxCategory.DisplayMember = "Наименование";
}
private void btnCancel_Click(object sender, EventArgs e)
{
}
private void btnDelete_Click(object sender, EventArgs e)
{
if (MessageBox.Show("Уверены что хотите удалить эту категорию?", "Удаление", MessageBoxButtons.YesNo) == DialogResult.Yes)
{
{
var entry = db.Entry(model);
if (entry.State == EntityState.Detached)
db.Расходы.Attach(model);
db.Расходы.Remove(model);
db.SaveChanges();
MessageBox.Show("Запись была удалена");
}
}
}
private void btnCreate_Click(object sender, EventArgs e)
{
model.Период = dtp.Value;
model.Стоимость = decimal.Parse(tbxCost.Text);
model.КатегорииЗатратId =(int)(cbxCategory.SelectedValue);
model.Комментарий = tbxComments.Text;
db.Расходы.Add(model);
db.SaveChanges();
MessageBox.Show("Запись успешно сохранена");
}
}
}