Lấy Giá Trị Vào Combobox | |
|
3 posters |
Tác giả | Thông điệp |
---|
quainhan_kid95Thành viên nhiệt tìnhTổng số bài gửi : 27Join date : 16/02/2011 | Tiêu đề: Lấy Giá Trị Vào Combobox Thu Jun 09, 2011 7:22 pm | các pro cho mình hỏi cách giải quyết vấn đề gặp lỗi của mình đó là khi lấy giá trị vào combobox được lọc từ một bản tham chiếu. Vấn đề như sau :Khi mình lấy dữ liệu vào combobox nhưng nó chỉ hiện thị cho xem mà không cho phép chọn. Giống như nó mặc định sẵn một giá trị mà không cho phép chọn giá trị khác( mình dùng vb.net)đây là đoạn code trong combobox : txtmsdn.DataSource = laymsdn() txtmsdn.DisplayMember = "msdn" txtmsdn.ValueMember = "msdn"Còn đây là đoạn code để mình lấy dữ liệu : Public Function Laymsdn() As DataTable 'Tạo một đối tượng Datatable nhận dữ liệu trả về Dim dt As New DataTable("dn") 'Tạo bộ máy DataAdapter thực hiện command Dim da As New OleDbDataAdapter() 'Tạo command để lấy dữ liệu ra ngoài Dim command As New OleDbCommand() command.Connection = con ' Kết nối command.CommandType = CommandType.Text 'loại lệnh sử dụng là Text hay là một query trong access command.CommandText = "SELECT msdn FROM dn" da.SelectCommand = command ' gán command cho da da.Fill(dt) 'Nạp dữ liệu vào Table Return dt End Functionmong mọi người giúp đỡ cho mình | LikeDislike |
|
|
tvduongAdminTổng số bài gửi : 147Join date : 29/10/2010Age : 34 | Tiêu đề: Re: Lấy Giá Trị Vào Combobox Thu Jun 09, 2011 10:02 pm | Bạn viết gì cho đơn giản: Code: con = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data source =" & Application.StartupPath & "\database.mdb") con.Open() da = New OleDbDataAdapter("Select * from vidu", con) ' ds = New DataSet ' da.Fill(ds, "vd") ' ComboBox1.DataSource = ds.Tables("vd") dt = New DataTable da.Fill(dt) ComboBox1.DataSource = dt ComboBox1.DisplayMember = "comboboxfield" 3 dòng ghi chú là mình đã test bằng dataset (cả dataset và datatable đều chạy được)Đây ra project demo: Code: http://www.mediafire.com/?y90h16op2tkkkqt Nếu gặp vấn đề bạn có thể up project lên cho mình xem thế nào, chứ code vậy là chạy Ok đấy bạn! | LikeDislike |
|
|
quainhan_kid95Thành viên nhiệt tìnhTổng số bài gửi : 27Join date : 16/02/2011 | Tiêu đề: Re: Lấy Giá Trị Vào Combobox Thu Jun 09, 2011 11:54 pm | cảm ơn bạn rất nhiều, nếu mình muốn thể hiện không phải là một cột mà la 2 cột trong một bảng thì mình phải làm như thế nào.ví dụ như : khi nhấp vào combobox thì nó xổ xuống một bên là mssv đồng thời bên cạnh nó là tên của sinh viên phải làm như thế nào | LikeDislike |
|
|
quainhan_kid95Thành viên nhiệt tìnhTổng số bài gửi : 27Join date : 16/02/2011 | Tiêu đề: Re: Lấy Giá Trị Vào Combobox Fri Jun 10, 2011 12:25 pm | không ai giúp đỡ mình ah. mong các bạn giúp đỡ một tí. thanks | LikeDislike |
|
|
tvduongAdminTổng số bài gửi : 147Join date : 29/10/2010Age : 34 | Tiêu đề: Re: Lấy Giá Trị Vào Combobox Fri Jun 10, 2011 1:12 pm | Bạn có thể tạo 2 combobox (hoặc 1 combobox, 1 textbox...): 1 combobox để hiện mssv, 1 combobox để hiện tên sinh viên.Trong combobox mssv bạn xử lý sự kiện SelectedIndexChanged.Vd thế này(code C#): Code: //Lấy tên sinh viên với 1 mã trong combobox mã sinh viên com = new OleDbCommand("Select TenSV from SinhVien where MSSV='" + cbxMaSV.Text + "'", con);//Gán tên sinh viên tìm được vào combobox tên sinh viên cbxTenSV.Text = com.ExecuteScalar().ToString(); | LikeDislike |
|
|
quainhan_kid95Thành viên nhiệt tìnhTổng số bài gửi : 27Join date : 16/02/2011 | Tiêu đề: Re: Lấy Giá Trị Vào Combobox Fri Jun 10, 2011 3:32 pm | Xin lỗi bạn, mình viết bằng vb.net nên không biết C#. Bạn có thể chỉnh lại đoạn code không | LikeDislike |
|
|
tvduongAdminTổng số bài gửi : 147Join date : 29/10/2010Age : 34 | Tiêu đề: Re: Lấy Giá Trị Vào Combobox Fri Jun 10, 2011 4:38 pm | Trong C# và VB cũng gần như nhau thôi bạn: Code: //Lấy tên sinh viên với 1 mã trong combobox mã sinh viên com = new OleDbCommand("Select TenSV from SinhVien where MSSV='" & cbxMaSV.Text & "'", con)//Gán tên sinh viên tìm được vào combobox tên sinh viên cbxTenSV.Text = com.ExecuteScalar | LikeDislike |
|
|
quainhan_kid95Thành viên nhiệt tìnhTổng số bài gửi : 27Join date : 16/02/2011 | Tiêu đề: Re: Lấy Giá Trị Vào Combobox Fri Jun 10, 2011 4:50 pm | Mình đã làm giống như bạn nói nhưng nó không xuất hiên : đây là projects của mình[You must be registered and logged in to see this link.] | LikeDislike |
|
|
tvduongAdminTổng số bài gửi : 147Join date : 29/10/2010Age : 34 | Tiêu đề: Re: Lấy Giá Trị Vào Combobox Fri Jun 10, 2011 10:04 pm | Bạn chỉnh lại chỗ này: Manghanh={0} thành Manghanh='{0}' vì đối số {0} là 1 chuỗi nên phải đặt trong dấu nháy đơn Code: LINHVUCBindingSource.Filter = String.Format("Manghanh='{0}'", ComboBox1.SelectedValue.ToString) | LikeDislike |
|
|
quainhan_kid95Thành viên nhiệt tìnhTổng số bài gửi : 27Join date : 16/02/2011 | Tiêu đề: Re: Lấy Giá Trị Vào Combobox Fri Jun 10, 2011 10:41 pm | Mình post nhầm projects nhưng nhờ zị mà phát hiện chỗ sai. thanks bạn nhiều. Mình cũng tìm được cách khác để giải quyết vấn đề trên!!! Thanhks | LikeDislike |
|
|
quainhan_kid95Thành viên nhiệt tìnhTổng số bài gửi : 27Join date : 16/02/2011 | Tiêu đề: Re: Lấy Giá Trị Vào Combobox Sun Jun 19, 2011 6:55 pm | tvduong đã viết: Bạn có thể tạo 2 combobox (hoặc 1 combobox, 1 textbox...): 1 combobox để hiện mssv, 1 combobox để hiện tên sinh viên.Trong combobox mssv bạn xử lý sự kiện SelectedIndexChanged.Vd thế này(code C#): Code: //Lấy tên sinh viên với 1 mã trong combobox mã sinh viên com = new OleDbCommand("Select TenSV from SinhVien where MSSV='" + cbxMaSV.Text + "'", con);//Gán tên sinh viên tìm được vào combobox tên sinh viên cbxTenSV.Text = com.ExecuteScalar().ToString(); Ý của mình là không tạo 2 combox (...) giống như bạn nói, Mình muốn tạo 1 cái com bobox thôi nhưng trong combox đó phải thể hiện 2 cột ( khi mình xổ xuống thì nó hiện cột đầu tiên là mssv bên cạnh là tên sinh viên để mình biết được mssv đó là của sinh vien nào). Mấy ngày này mình đã tìm hiểu nhưng vẫn không có cách giải quyết, Mong mọi người giúp đỡ mình về vấn đề này | LikeDislike |
|
|
ddtan90AdminTổng số bài gửi : 178Join date : 30/12/2010Age : 33Đến từ : SE 3 - K34 | Tiêu đề: Re: Lấy Giá Trị Vào Combobox Sun Jun 19, 2011 9:27 pm | Mình không biết có cách nào không nhưng nếu là mình thì mĩnh sẽ chơi cuội. Nghĩa là thay vì trong câu SQL của bạn chỉ lấy Code: select mssv, tensv thì bạn đổi thành Code: select mssv, mssv & " | " & tensv as GIATRIHIENTHI lúc đó thì mssv sẽ là Valuemember, con GIATRIIENTHI sẽ là Displaymember.Còn có thể nào làm combobox mà có 2 cột giống trong Access thì mình chưa thử. | LikeDislike |
|
|
quainhan_kid95Thành viên nhiệt tìnhTổng số bài gửi : 27Join date : 16/02/2011 | Tiêu đề: Re: Lấy Giá Trị Vào Combobox Sun Jun 19, 2011 10:09 pm | code phải viết lại như thế này mới đúng select mssv, mssv & ' | ' & tensv as GIATRIHIENTHI | Nhưng vẫn còn 1 vấn đề nếu như mình làm như zị thì làm sao có thể insert giá trị đó vào( Có cách nào lấy giá trị là mssv để insert vào không ) trong bảngCho Mình Hỏi thêm câu lệnh này Code: command.CommandText = "Select msdn From dn where msdn = 'Left(" + btmsdn.Text + ", 3)' " nó sai chỗ nào mà không hiện dữ liệu | LikeDislike |
|
|
ddtan90AdminTổng số bài gửi : 178Join date : 30/12/2010Age : 33Đến từ : SE 3 - K34 | Tiêu đề: Re: Lấy Giá Trị Vào Combobox Mon Jun 20, 2011 9:36 am | CHổ bạn hỏi mình đã có trả lời trong lần trước rùi đó. mấu chốt ở đây là Code: lúc đó thì mssv sẽ là Valuemember, con GIATRIIENTHI sẽ là Displaymember. giống như trong bài của bạn có viết Trích dẫn : txtmsdn.DisplayMember = "msdn"txtmsdn.ValueMember = "msdn" lúc đó thì khi cần lấy mssv mà mình đã chọn ra thì chỉ cần gọi Code: cbbox.SelectedValue thì sẽ ra mssv chứ không phải cái GIATRIHIENTHI. | LikeDislike |
|
|
quainhan_kid95Thành viên nhiệt tìnhTổng số bài gửi : 27Join date : 16/02/2011 | Tiêu đề: Re: Lấy Giá Trị Vào Combobox Mon Jun 20, 2011 9:51 am | thanks bạn, Nhưng khi mình viết câu lệnh này thì nó lại báo lỗi Code: command.CommandText = "Select tendn as tdn From dn where msdn='" & btmsdn.SelectedValue & " '" lỗi thông báo là Code: Operator '&' is not defined for string "Select msdn as tdn From dn where" and type 'DataRowView'. mình không hiểu tại sao nó lại báo lỗi như zị | LikeDislike |
|
|
ddtan90AdminTổng số bài gửi : 178Join date : 30/12/2010Age : 33Đến từ : SE 3 - K34 | Tiêu đề: Re: Lấy Giá Trị Vào Combobox Mon Jun 20, 2011 2:33 pm | mình nhớ hình như chổ này đâu có dùng toán tử & . hình như là dùng toán tử + để ghép chuỗi thỉ phải. bạn thử toán tử + thử xem! Không nhớ rỏ nữa! | LikeDislike |
|
|
quainhan_kid95Thành viên nhiệt tìnhTổng số bài gửi : 27Join date : 16/02/2011 | Tiêu đề: Re: Lấy Giá Trị Vào Combobox Mon Jun 20, 2011 3:18 pm | cả 2 dấu đó đều báo lỗi, mình tìm nãy giờ vẫn không ra | LikeDislike |
|
|
quainhan_kid95Thành viên nhiệt tìnhTổng số bài gửi : 27Join date : 16/02/2011 | Tiêu đề: Re: Lấy Giá Trị Vào Combobox Thu Jun 23, 2011 11:54 pm | quainhan_kid95 đã viết: thanks bạn, Nhưng khi mình viết câu lệnh này thì nó lại báo lỗi Code: command.CommandText = "Select tendn as tdn From dn where msdn='" & btmsdn.SelectedValue & " '" lỗi thông báo là Code: Operator '&' is not defined for string "Select msdn as tdn From dn where" and type 'DataRowView'. mình không hiểu tại sao nó lại báo lỗi như zị Mọi nhười giúp mình cái này với | LikeDislike |
|
|
ddtan90AdminTổng số bài gửi : 178Join date : 30/12/2010Age : 33Đến từ : SE 3 - K34 | Tiêu đề: Re: Lấy Giá Trị Vào Combobox Sun Jun 26, 2011 12:32 am | mình hiểu rồi.Nếu bạn dùng câu lệnh này trong C# thì bị lỗi toán tử &. để ghép chuỗi trong C# thì bạn phải dùng dấu +. ( nếu VB thì mình không nhớ rõ)thêm 1 cái lỗi nữa là bạn không thể ghép 2 đối tượng khác nhau như vậy. 1 là String 1 là DataRowView thì làm sao mà nó ghép được! | LikeDislike |
|
|
tvduongAdminTổng số bài gửi : 147Join date : 29/10/2010Age : 34 | Tiêu đề: Re: Lấy Giá Trị Vào Combobox Sun Jun 26, 2011 7:18 am | Bạn thử gì xem sao: Code: command.CommandText = "Select tendn as tdn From dn where msdn='" & btmsdn.Text & " '" | LikeDislike |
|
|
Sponsored content | Tiêu đề: Re: Lấy Giá Trị Vào Combobox |
|
|
Lấy Giá Trị Vào Combobox | |
|