Trang 1 trên tổng số 2 12 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 17 kết quả

Đề tài: Chuyển đổi dữ liệu được chọn từ datagridview vào combobox

  1. #1
    Ngày gia nhập
    11 2012
    Bài viết
    117

    Mặc định Chuyển đổi dữ liệu được chọn từ datagridview vào combobox

    Mình có 1 datagrid chứa dữ liệu của bảng sản phẩm được import vào từ 1file bên ngoài.
    Mình muốn khi click vào 1 dòng trên datagrid thì mã hàng ở dòng đó hiển thị qua bên combobox mã hàng với tên mã là tên mã của combobox. Ví dụ khi click dòng thứ 3 thì mã hàng 991712 sẽ hiển thị tương ứng bên combox mã hàng là SPH00001, nếu kích vào dòng thứ 4 thì bên combobox mã hàng hiển thị là SPH00003. Mọi người xem hình phía dưới sẽ rõ hơn.
    Click vào hình ảnh để lấy hình ảnh lớn

Tên:		hinh.png
Lần xem:	40
Size:		101.5 KB
ID:		10785
    Ai có cách nào thì giúp mình nhé!1 Thanks!

  2. #2
    Ngày gia nhập
    11 2012
    Nơi ở
    Ở nhà
    Bài viết
    180

    Bạn viết sự kiện rowEnter hay CellClick cho cái datagrid của bạn đổ ngược lại các control là được. Không biết mình có hiểu sai ý bạn không nhưng bạn tham khảo cái này. Mình hay làm thế này
    Code:
     private void DGV_CellClick(object sender, DataGridViewCellEventArgs e)
            {
                try
                {
                    Mact = DGV.Rows[e.RowIndex].Cells[0].Value.ToString();
                    txtTenCt.Text = DGV.Rows[e.RowIndex].Cells[1].Value.ToString();
                    txtDiachi.Text = DGV.Rows[e.RowIndex].Cells[2].Value.ToString();
                    txtDienthoai.Text = DGV.Rows[e.RowIndex].Cells[3].Value.ToString();
    // Bạn tham thảo tương tự thế
                }
                catch 
                {
                    
                    //throw;
                }
            }

  3. #3
    Ngày gia nhập
    11 2012
    Bài viết
    117

    Trích dẫn Nguyên bản được gửi bởi kenkentrang Xem bài viết
    Bạn viết sự kiện rowEnter hay CellClick cho cái datagrid của bạn đổ ngược lại các control là được. Không biết mình có hiểu sai ý bạn không nhưng bạn tham khảo cái này. Mình hay làm thế này
    Code:
     private void DGV_CellClick(object sender, DataGridViewCellEventArgs e)
            {
                try
                {
                    Mact = DGV.Rows[e.RowIndex].Cells[0].Value.ToString();
                    txtTenCt.Text = DGV.Rows[e.RowIndex].Cells[1].Value.ToString();
                    txtDiachi.Text = DGV.Rows[e.RowIndex].Cells[2].Value.ToString();
                    txtDienthoai.Text = DGV.Rows[e.RowIndex].Cells[3].Value.ToString();
    // Bạn tham thảo tương tự thế
                }
                catch 
                {
                    
                    //throw;
                }
            }
    Không phải vậy bạn ơi !! Cái mã trong datagridview có 1 cái mã tương ứng trong combobox. Vì mình import file từ 1 chương trình khác, tên sản phẩm là như nhau nhưng cái mã lại khác nhau!! Minh muốn là click vào thì cái mã trên datagridview sẽ chuyển thành mã bên chương trình của mình và hiện trên combobox để lưu vào csdl của mình.
    Mình đã thử làm như thế này nhưng hình như không đúng. Mọi người xem thử góp ý dùm mình.Mình làm trên sự kiện cellclick
    Code:
     int i = e.RowIndex;
                    txtmahdxuat.Text = dgvimport.Rows[i].Cells[2].Value.ToString();
                    datengaylap.Text = dgvimport.Rows[i].Cells[1].Value.ToString();
                    string masp =dgvimport.Rows[i].Cells[5].Value.ToString();
                switch(masp)
                {
                    case "SPH001": { cmbmahang.SelectedValue="SPH00003"; } break;
                    case "990613": { cmbmahang.SelectedValue = "SPH00001"; } break;
                    case "990615": { cmbmahang.SelectedValue = "SPH00002"; } break;
                    case "992009": { cmbmahang.SelectedValue = "SPH00004"; } break;
                    case "992008": { cmbmahang.SelectedValue = "SPH00005"; } break;
                    case "TL0705": { cmbmahang.SelectedValue = "SPH00012"; } break;
                    case "990643": { cmbmahang.SelectedValue = "SPH00011"; } break;
                    case "990601": { cmbmahang.SelectedValue = "SPH00007"; } break;
                    case "990611": { cmbmahang.SelectedValue = "SPH00008"; } break;
                    case "990625": { cmbmahang.SelectedValue = "SPH00009"; } break;
                    case "990631": { cmbmahang.SelectedValue = "SPH00010"; } break;
                    case "991712": { cmbmahang.SelectedValue = "SPH00013"; } break;
                    case "991713": { cmbmahang.SelectedValue = "SPH00015"; } break;
                    case "991711": { cmbmahang.SelectedValue = "SPH00014"; } break;
                    case "991703": { cmbmahang.SelectedValue = "SPH00016"; } break;
                    case "990724": { cmbmahang.SelectedValue = "SPH00017"; } break;
                    case "990711": { cmbmahang.SelectedValue = "SPH00018"; } break;
                    case "990707": { cmbmahang.SelectedValue = "SPH00019"; } break;
                    case "990750": { cmbmahang.SelectedValue = "SPH00020"; } break;
                    case "992003": { cmbmahang.SelectedValue = "SPH00021"; } break;
                    case "992013": { cmbmahang.SelectedValue = "SPH00022"; } break;
                    case "990726": { cmbmahang.SelectedValue = "SPH00023"; } break;
                }    
                    cmbmakhachhang.SelectedValue = dgvimport.Rows[i].Cells[3].Value.ToString();
                    txtsoluong.Text = dgvimport.Rows[i].Cells[8].Value.ToString();

  4. #4
    Ngày gia nhập
    05 2012
    Bài viết
    30

    Vậy thì bạn nên xài inner join để join 2 bảng lại nhưng không có hiển thị cột đó trên DataGrid sau đó sử dụng sự kiện CellDoubleClick là ok bạn nhé! Chúc bạn thành công!

  5. #5
    Ngày gia nhập
    11 2012
    Bài viết
    117

    Mình có 2 trường cần làm như vậy lận. Ngoài mã sản phẩm còn mã khách hàng nữa cũng cần làm như vậy. Nếu được hướng dẫn mình chi tiết síu.

  6. #6
    Ngày gia nhập
    11 2012
    Bài viết
    117

    Mặc định Chuyển đổi dữ liệu được chọn từ datagridview vào combobox

    Trích dẫn Nguyên bản được gửi bởi bachkim20 Xem bài viết
    Vậy thì bạn nên xài inner join để join 2 bảng lại nhưng không có hiển thị cột đó trên DataGrid sau đó sử dụng sự kiện CellDoubleClick là ok bạn nhé! Chúc bạn thành công!
    Dữ liệu trên datagrid là mình import vào, không có lưu trong csdl, làm sao để join lại vậy?

  7. #7
    Ngày gia nhập
    11 2012
    Bài viết
    30

    CellClick code: select MASP,TENSP với where là cái 991712 đó thôi có gì phức tập đâu nhỉ!
    rồi dùng phép nối chuỗi nối 2 cái đó lại rồi đổ lên combo

  8. #8
    Ngày gia nhập
    11 2012
    Bài viết
    117

    Trích dẫn Nguyên bản được gửi bởi nop ret Xem bài viết
    CellClick code: select MASP,TENSP với where là cái 991712 đó thôi có gì phức tập đâu nhỉ!
    rồi dùng phép nối chuỗi nối 2 cái đó lại rồi đổ lên combo
    Dữ liệu này trên datagridview mà chứ có phải trong csdl liệu đâu mà select nhỉ. ví dụ mình chỉ cần đổ 1 cái lên thui thế này : select masp from ??? where masp="991712" cho thực hiện câu lệnh đổ vào dataview gán vào datasource cho combo nhưng from cái j ??

  9. #9
    Ngày gia nhập
    11 2012
    Bài viết
    30

    Trích dẫn Nguyên bản được gửi bởi haucanpop6590 Xem bài viết
    Dữ liệu này trên datagridview mà chứ có phải trong csdl liệu đâu mà select nhỉ. ví dụ mình chỉ cần đổ 1 cái lên thui thế này : select masp from ??? where masp="991712" cho thực hiện câu lệnh đổ vào dataview gán vào datasource cho combo nhưng from cái j ??
    from cái gì mà ko biết nữa thì cũng bó chym với bạn luôn
    database của bạn thiết kế ra sao mà giờ hỏi câu đó nhỉ?
    shit! thế cái lưới data kia của bồ là tự add = tay ah?
    mà nếu ko có database như trên thì càng dể!
    Cellclick[cột] code: gán chuỗi của dg.CurrentRow.cell[n].Value.Tosting() + lại
    combox.Text = dg.CurrentRow.cell[n].Value.Tosting() + lại

  10. #10
    Ngày gia nhập
    11 2012
    Bài viết
    117

    Trời ơi bạn ko hiểu ý của mình ak!! Bạn đọc lại post đầu tiên với #3 và #6 của mình đi!!
    Để mình nói lại là dữ liệu trên datagridview là import từ 1file ở ngoài vào thì trong csdl làm j có cái bảng nào chứa dữ liệu mà from, còn cái mã sản phẩm trên datagrid mình ko muốn lấy nó mà mình muốn chuyển mã đó sang mã của mình tức là khi click vào dòng có mã sản phẩm là "990613" thì bên combobox hiển thị là SPH00001 đó!!

Các đề tài tương tự

  1. Chuyển Textbox thành Combobox trong DataGridView
    Gửi bởi namthienlong2001 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 12
    Bài viết cuối: 29-06-2016, 02:06 PM
  2. Chuyển con trỏ về 1 ô trong datagridview (Get focus cell in datagridview)
    Gửi bởi haingo08tlt trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 9
    Bài viết cuối: 10-11-2015, 07:30 PM
  3. Hỏi cách tương tác giữa datagridview với combobox
    Gửi bởi userver1 trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 0
    Bài viết cuối: 04-06-2013, 05:07 PM
  4. Di chuyển đến 1 row trong datagridview và combobox trong datagridview
    Gửi bởi I.Coder trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 3
    Bài viết cuối: 25-07-2011, 03:49 PM
  5. Giá trị combobox không giống với giá trị combobox ở datagridview khi mình insert
    Gửi bởi suzuke169 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 3
    Bài viết cuối: 25-07-2011, 03:48 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn