Изменение отображения в поле со списком на основе выбора другого поля со списком - PullRequest
0 голосов
/ 27 ноября 2018

У меня есть два combox в datagrid.Один комбо является основной категорией, а другой - подкатегорией.Я хочу, чтобы Когда я выбираю основную категорию, то в комбинированной подкатегории я вижу только выбранную подкатегорию основной категории.

Как мне это сделать?

public partial class Form4 : System.Windows.Forms.Form
{
    SqlConnection con = new SqlConnection(@"Data Source=DEV6-PC; Initial 
    Catalog=Tak_Net;Integrated Security=True;");

    DataTable dt = new DataTable();
    DataTable dt1 = new DataTable();

    public Form4()
    {
        InitializeComponent();
    }

    private void Form4_Load(object sender, EventArgs e)
    {
        dataGridView1.DataSource = loadData().Tables[0];
        addCombo();
        addCombo2();

    }
    private DataSet loadData()
    {
        con.Open();
        SqlDataAdapter adapter = new SqlDataAdapter();
        SqlCommand cmd;
        DataSet ds = new DataSet();
        //DataSet ds1 = new DataSet();

        //SELECT STMTS

        string Final = "SELECT Counter,DATE,V_BizName,Cost,PaymentCost,Notes 
        FROM dbo.Final_Cat_Global ";
        string P_Cat = "SELECT distinct Cat FROM dbo.P_Cat";
        string P_SubCat = "SELECT  SubCat FROM dbo.P_Cat where 
        isnull(SubCat,'')<>''";

        //Final TABLE

        cmd = new SqlCommand(Final, con);
        adapter.SelectCommand = cmd;
        adapter.Fill(ds, "Final");

        //P_Cat TABLE
        adapter.SelectCommand.CommandText = P_Cat;
        adapter.Fill(ds, "P_Cat");

        //P_SubCat TABLE
        adapter.SelectCommand.CommandText = P_SubCat;
        adapter.Fill(ds, "P_SubCat");

        dt = ds.Tables[1];
        dt1 = ds.Tables[2];

        return ds;

    }

    //COMBO COLUMN
    public void addCombo()
    {
        //ADD COLUMNS
        DataGridViewComboBoxColumn combo = new DataGridViewComboBoxColumn();
        combo.HeaderText = "P_Cat";
        combo.Name = "combo";

        ArrayList row = new ArrayList();

        //FILL ARRAYLIST FROM DATATABLE
        foreach (DataRow dr in dt.Rows)
        {
            row.Add(dr["Cat"].ToString());
        }
        //ADD TO COMBO
        combo.Items.AddRange(row.ToArray());

        //ADD THE COMBO TO DATAGRIDVIEW
        dataGridView1.Columns.Add(combo);

    }

    //COMBO COLUMN
    public void addCombo2()
    {
        //ADD COLUMNS
        DataGridViewComboBoxColumn combo = new DataGridViewComboBoxColumn();
        combo.HeaderText = "P_SubCat";
        combo.Name = "combo1";

        ArrayList row = new ArrayList();

        //FILL ARRAYLIST FROM DATATABLE
        foreach (DataRow dr in dt1.Rows)
        {
            row.Add(dr["SubCat"].ToString());

        }
        //ADD TO COMBO
        combo.Items.AddRange(row.ToArray());

        //ADD THE COMBO TO DATAGRIDVIEW
        dataGridView1.Columns.Add(combo);

    }

}

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

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