Как показать данные модели в представлении данных? - PullRequest
0 голосов
/ 22 января 2019

Я хочу показать данные модели, переданные из одной формы в другую форму.

В первой форме я сохраняю данные в базу данных, а также одновременно возвращаю данные в модель.Теперь я хочу отправить эту модель в новую форму.После отправки в новую форму я хочу отобразить ее в Datagridview.Я сделал все остальное правильно, но теперь не могу отобразить его в сетке данных.Честно говоря, я не знаю, как отобразить модель в виде сетки данных.

company = GlobalConfig.Connections.CreateCompany(company);
            // MessageBox.Show(Convert.ToString(company.id));
            AddInformationForm form = new AddInformationForm(company);
            form.ShowDialog();

компания - это модель.

public class CompanyModel
{
    public int id { get; set; }
    public int Mohre { get; set; }
    public string CompanyNameEn { get; set; }
    public string CompanyNameAr { get; set; }
    public int CompanyLicense { get; set; }
    public DateTime CompanyLicenseExpiry { get; set; }
    public int MOI { get; set; }
    public DateTime MOIExpiry { get; set; }
    public ContactModel Contacts { get; set; }
    public SectorModel Sector { get; set; }
    public CompanyCategoryModel Category { get; set; }

    public CompanyModel()
    {

    }
}

как отобразить ее в сетке данных.

И также, когда я просто хочу присвоить значения меткам, это дает мне нулевую ссылку на исключение

 public partial class AddInformationForm : Form
{
    private CompanyModel company = new CompanyModel();

    public AddInformationForm()
    {
        InitializeComponent();
    }

    public AddInformationForm(CompanyModel cmp)
    {
        company = cmp;

    }

    private void AddInformationForm_Load(object sender, EventArgs e)
    {
        CompanyNameLabel.Text = company.CompanyNameAr;
        SectorLabel.Text = company.Sector.Name;
        CategoryLabel.Text = company.Category.CategoryName;
        LicenseLabel.Text = Convert.ToString(company.CompanyLicense);
        MohreLabel.Text = Convert.ToString(company.Mohre);
        MOILabel.Text = Convert.ToString(company.MOI);
    }
}

значения передаются совершенно нормально и также представляют его, но все равно дают нулевое исключение.в чем может быть проблема здесь

1 Ответ

0 голосов
/ 22 января 2019

Попробуйте, как показано ниже:

dataGridView1.DataSource = new List<CompanyModel> { company };

или

var listCompanies = new List<CompanyModel> { company };

dataGridView1.DataSource = listCompanies.Select(c =>
new
{
    License = c.CompanyLicense,
    Name = c.CompanyNameAr,
    SectorName = c.Sector.Name//Todo:set your property
}).ToList();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...