Hỏi đáp

Chia sẻ kiến thức, cùng nhau phát triển

Cách load Combobox với tên tương ứng

12:09 06-06-2022 73 lượt xem 0 bình luận

Chào anh Long, hiện tại em có CSDL gồm có 2 bảng DIENVIEN và NGUOIQUANLY:

CREATE DATABASE QUANLYDIENVIEN
GO
USE QUANLYDIENVIEN
GO
CREATE TABLE DIENVIEN
(
	ID INT IDENTITY PRIMARY KEY,
	NAME NVARCHAR(100)
)
GO
CREATE TABLE NGUOIQUANLY
(
	ID INT IDENTITY PRIMARY KEY,
	IDDIENVIEN INT NOT NULL,
	NAME NVARCHAR(100)
	FOREIGN KEY(IDDIENVIEN) REFERENCES dbo.DIENVIEN(ID)
)
GO
INSERT INTO dbo.DIENVIEN
(
    NAME
)
VALUES
(N'Vương Vũ Tiệp' -- NAME - nvarchar(100)
    )
INSERT INTO dbo.DIENVIEN
(
    NAME
)
VALUES
(N'Tống Đạt Dân' -- NAME - nvarchar(100)
    )
INSERT INTO dbo.DIENVIEN
(
    NAME
)
VALUES
(N'Tinh Hủy' -- NAME - nvarchar(100)
    )
INSERT INTO dbo.DIENVIEN
(
    NAME
)
VALUES
(N'Phương Sổ Chân' -- NAME - nvarchar(100)
    )
GO
INSERT INTO dbo.NGUOIQUANLY
(
    IDDIENVIEN,
    NAME
)
VALUES
(   1,   -- IDDIENVIEN - int
    N'Nguyễn Văn A' -- NAME - nvarchar(100)
    )
INSERT INTO dbo.NGUOIQUANLY
(
    IDDIENVIEN,
    NAME
)
VALUES
(   1,   -- IDDIENVIEN - int
    N'Nguyễn Văn A' -- NAME - nvarchar(100)
    )
INSERT INTO dbo.NGUOIQUANLY
(
    IDDIENVIEN,
    NAME
)
VALUES
(   2,   -- IDDIENVIEN - int
    N'Nguyễn Văn B' -- NAME - nvarchar(100)
    )
INSERT INTO dbo.NGUOIQUANLY
(
    IDDIENVIEN,
    NAME
)
VALUES
(   3,   -- IDDIENVIEN - int
    N'Nguyễn Văn C' -- NAME - nvarchar(100)
    )
INSERT INTO dbo.NGUOIQUANLY
(
    IDDIENVIEN,
    NAME
)
VALUES
(   4,   -- IDDIENVIEN - int
    N'Nguyễn Văn C' -- NAME - nvarchar(100)
    )
INSERT INTO dbo.NGUOIQUANLY
(
    IDDIENVIEN,
    NAME
)
VALUES
(   4,   -- IDDIENVIEN - int
    N'Nguyễn Văn D' -- NAME - nvarchar(100)
    )
GO

và trong WPF em có 2 combobox:

MainWindow.xaml:

<Window x:Class="LoadTenDienVienTheoNguoiQuanLy.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:LoadTenDienVienTheoNguoiQuanLy"
        mc:Ignorable="d"
		Loaded="Window_Loaded"
        Title="MainWindow" Height="450" Width="800">
    <StackPanel>
		<ComboBox x:Name="cbTenDienVien"></ComboBox>
		<ComboBox x:Name="cbNguoiQuanLy"></ComboBox>
    </StackPanel>
</Window>

MainWindow.xaml.cs:

using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;

namespace LoadTenDienVienTheoNguoiQuanLy
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        QUANLYDIENVIENEntities data = new QUANLYDIENVIENEntities();
        public MainWindow()
        {
            InitializeComponent();
        }

        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            cbTenDienVien.ItemsSource = data.DIENVIENs.Select(p => p.NAME).ToList();
            var DienVienTheoNguoiQuanLy= from m in data.NGUOIQUANLies
                                         from d in data.DIENVIENs
                                         where m.IDDIENVIEN==d.ID
                                         select m.NAME;
            cbNguoiQuanLy.ItemsSource = DienVienTheoNguoiQuanLy.ToList();
        }
    }
}

Giờ em muốn khi chọn 1 tên trong cbTenDienVien thì nó hiện lên tên tương ứng trong cbNguoiQuanLy thì em phải làm sao ạ? Em cảm ơn anh

Bình luận

Để bình luận, bạn cần đăng nhập bằng tài khoản Howkteam.

Đăng nhập

Câu hỏi mới nhất