Breaking News

Linq to sql server xem chi tiết toàn bộ danh mục

 Hướng dẫn cách xem chi tiết toàn bộ danh mục linq to sql server bằng 2 cach là Method Syntax và Query Syntax


Code hướng dẫn cách xem danh mục bằng cách tao các button động bằng flowlayoutpanel trong c# nhấn nhiện thông tin chi tiết vào text. Và dùng combox

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

namespace LinqToSQL

{

    public partial class frmtruyvanchitietdanhmuc : Form

    {

        public frmtruyvanchitietdanhmuc()

        {

            InitializeComponent();

        }

        Button btnDautien = null;// nếu đã chọn thì khởi tạo bao đâu chưa chọn button nào cả thì nó bằng null

        private void frmtruyvanchitietdanhmuc_Load(object sender, EventArgs e)

        {

            CSDLLINQDATADataContext contex = new CSDLLINQDATADataContext();

            var dsdm = contex.DanhMucs.ToList();// lấy toàn bộ danh mục

            pnDanhMuc.Controls.Clear();

            dsdm.ForEach(x => // x là 1 trong những button được lấy ra

            {

                Button btn = new Button();

                btn.Text = x.TenDM;// txt là hiển thị lên giao diên

                btn.Tag = x.MaDM;//tag thường lấy mã sẽ ẩn đi dành cho lập trình

                btn.Width = 100;// add chiều dài

                btn.Height = 40;// add chiều cao

                btn.BackColor = Color.Blue;// mặt định đầu tiền màu nền là màu xanh

                pnDanhMuc.Controls.Add(btn);// add button vào pndanhmuc

                btn.Click += Btn_Click; // sự kiện người dùng lick vào button

 

            }

 

            );

            // xem chi tiết danh mực bằng query suytex

            List<DanhMuc> dm = contex.DanhMucs.ToList();

            cboDanhMuc.DataSource = dm;

            cboDanhMuc.ValueMember = "MaDM";

            cboDanhMuc.DisplayMember = "TenDM";

            TaiDauTien = true;// kết thúc click tải danh mục liên combo thành công

        }

        // vi sự kiên btn click thì sender chính là đối tượng để người dùng click vào

        private void Btn_Click(object sender, EventArgs e)

        {

            CSDLLINQDATADataContext contex = new CSDLLINQDATADataContext();

            Button btn = sender as Button;

            int ma = (int)btn.Tag; // lấy mã button theo mã danh mục lưu ở trên

            DanhMuc csdldm = contex.DanhMucs.FirstOrDefault(x => // ta dùng method syntax

            x.MaDM == ma);// lấy ra 1 mã danh mục bằng đúng mã đang lưu tag của button

            if (csdldm!=null)

            {

                txtMa.Text = csdldm.MaDM+"";

                txtTen.Text = csdldm.TenDM;

 

            }

            if (btnDautien!=null)

            {// nếu có chọn thì khởi tạo màu ban đầu là màu xanh

                btnDautien.BackColor = Color.Blue;

            }

            btnDautien = btn;

            btn.BackColor = Color.Yellow;

        }

        bool TaiDauTien = false;// chưa tải thành công

        private void cboDanhMuc_SelectedIndexChanged(object sender, EventArgs e)

        {

            CSDLLINQDATADataContext contex = new CSDLLINQDATADataContext();

            if (TaiDauTien==false)// chưa tải xong combo

            {

                return;

            }

            if (cboDanhMuc.SelectedIndex==-1)// tải xong nhưng chưa chọn

            {

                return;

            }

            int madm1 = (int)cboDanhMuc.SelectedValue;// lấy ra mã danh mực dựa vào  cboDanhMuc.ValueMember = "MaDM";

            DanhMuc dm = (from x in contex.DanhMucs

                          where x.MaDM == madm1

                          select x).FirstOrDefault();

            if (dm !=null)

            {

                txtMaDM.Text= dm.MaDM+"";

                txtTenDm.Text = dm.TenDM;

            }

 

        }

    }

}

 

 

Không có nhận xét nào