Почему данные хранимой процедуры из класса не отображаются в Datagridview в моей форме - PullRequest
0 голосов
/ 10 января 2019

Я пытаюсь перенести этот код в класс, чтобы избежать беспорядочного кода в форме / пользовательском элементе управления. Я успешно отображаю хранимую процедуру данных в моем представлении данных, когда код находится в моей форме / пользовательском элементе управления, но когда я пытался обратиться к классу, он больше не работает. Вот код, с которым я работаю в своем классе:

Мой класс:

public class DisplayCustomer
{
    public void Display_Customer(DataTable dt, DataGridView dgv)
    {     
        using (var con = new SqlConnection(ConfigurationManager.ConnectionStrings["SalesInventoryManagement.Properties.Settings.Setting"].ConnectionString))
        {
            using (var cmd = new SqlCommand("usp_GetCustomer", con))
            {               
                con.Open();
                cmd.CommandType = CommandType.StoredProcedure;

                using (var sda = new SqlDataAdapter(cmd))
                {                        
                    dt = new DataTable();
                    sda.Fill(dt);
              //    dt.Load(cmd.ExecuteReader());
                    dgv = new DataGridView { DataSource = dt };                
                }

                con.Close();
            }
        }
    }
}

Мой пользовательский контроль:

public partial class ManageCustomer : UserControl
{
    public ManageCustomer()
    {
        InitializeComponent();
    }

    public DataTable dbdataset;

    private void ManageCustomer_Load(object sender, EventArgs e)
    {
        DisplayCustomer dc = new DisplayCustomer();
        dc.Display_Customer(dbdataset, CustomersList);
    }
}

1 Ответ

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

Я думаю, что есть две проблемы,

  1. Использовать существующий Datagridview вместо создания нового.

    dgv = new DataGridView {DataSource = dt};

попробуйте сделать:

dgv.DataSource = dt;
  1. Кроме того, если ваше Datagridview находится в UserControl, передайте его как

исх

Display_Customer(DataTable dt, ref DataGridView dgv)

Итак, когда вы называете это

dc.Display_Customer(dbdataset, ref CustomersList);

Дайте мне знать, если это не поможет. Я все еще на пути в офис ... Так что не проверял код. :) попробуйте и обновите меня

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...