Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Kaskáda combobox a následné vyobrazení datagridview

Dobrý večer, chtel bych jen poradit při tvorbě programu v C# kde kaskádově vytvářím při výběru v comboboxu kategorii pak v druhem comboboxu podkategorii a v datagridview se zobrazí dané polozky. Nedačá se mi to ale zkompletovat tak aby to fungovalo . Napsal by někdo příklad abych si uvědomil kde dělám chybu?

výběr první combobox (kategorie) -> druhý combobox výběr podkategorie -> zobrazení daných položek podkategorie v dadagridview. Dále pak jejich možné upravy, vkladaní a mazaní.

Předmět Autor Datum
Proc místo očekávání příkladu nenapíšeš svůj kód?
Wikan 21.01.2020 06:16
Wikan
namespace Elektrokalkulace { public partial class FrmItems : MaterialSkin.Controls.MaterialForm { Sq… poslední
pokerista 21.01.2020 13:19
pokerista
namespace Elektrokalkulace
{
    public partial class FrmItems : MaterialSkin.Controls.MaterialForm
    {
        SqlConnection conn = new SqlConnection(@"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=G:\Users\Admin\source\repos\Elektrokalkulace\Sklad.mdf;Integrated Security=True;Connect Timeout=30");
        SqlDataAdapter dt;
        DataTable dtCategories = new DataTable();
        DataTable dtSubCategories = new DataTable();
        DataTable dtItems = new DataTable();
        public FrmItems()
        {
            InitializeComponent();

            dt = new SqlDataAdapter("SELECT * FROM Categories", conn);
            dt.Fill(dtCategories);
            CbxCat.DataSource = dtCategories;
            CbxCat.DisplayMember = "NameCat";
            CbxCat.ValueMember = "CatId";

            var skinManager = MaterialSkinManager.Instance;
            skinManager.AddFormToManage(this);
            skinManager.Theme = MaterialSkinManager.Themes.DARK;
            skinManager.ColorScheme = new ColorScheme(Primary.BlueGrey800, Primary.BlueGrey900, Primary.BlueGrey500, Accent.LightBlue200, TextShade.WHITE);
           
        }
        private void FrmItems_Load(object sender, EventArgs e)
        {
            // TODO: Tento řádek načte data do tabulky 'skladDataSet.Items'. Můžete jej přesunout nebo jej odstranit podle potřeby.
            this.itemsTableAdapter.Fill(this.skladDataSet.Items);
        } 

        private void CbxCat_SelectedIndexChanged(object sender, EventArgs e)
        {
            dtSubCategories.Clear();
            dt = new SqlDataAdapter("SELECT * FROM Subcategories WHERE CatId='"+ CbxCat.SelectedValue +"'", conn);
            dt.Fill(dtSubCategories);
            CbxSubcat.DataSource = dtSubCategories;
            CbxSubcat.DisplayMember = "NameSubCat";
            CbxSubcat.ValueMember = "SubCatId";
        }

        private void CbxSubcat_SelectedIndexChanged(object sender, EventArgs e)
        {
            dtItems.Clear();
            dt = new SqlDataAdapter("SELECT * FROM Items WHERE SubCatId='" + CbxSubcat.SelectedValue + "'", conn);
            dt.Fill(dtItems);
            dataGridViewItem.DataSource = dtItems;
        }

Doplněn tag CODE (host)

Zpět do poradny Odpovědět na původní otázku Nahoru