PDA

View Full Version : Đồng bộ giữa DataGridView và textbox



quangdongst
04-01-2009, 11:19
Các anh chị nào biết cách đồng bộ dữ liệu giữa DataGridview và textbox mong các anh chị chỉ giúp em

speedkill
05-01-2009, 09:11
ý của bạn là thế nào cụ thể hơn được không ?? nếu bạn muốn khi chọn 1 dòng trên grid thì data sẽ xuất hiện trên textbox thì bạn lấy sự kiện SelectionChanged của grid

dunghm06
06-01-2009, 09:40
ý của bạn là add Textbox vào DataGrid đó

quangdongst
06-01-2009, 22:51
nghĩa là khi click một dòng trên DataGridView là textbox hiển thị theo đó.
Bạn cho mình xin code di

stress
09-01-2009, 12:54
Xử lý click event của DataGridView. Don't be lazy.

sinhviencongnghe
09-01-2009, 15:57
Muốn làm việc này thì bạn add column cho GridView là GridViewTextBoxColumn, sau đó trứoc khi Load dữ liệu vào grid thì bạn cast nó về kiểu GridViewTextBoxColum và gán giá trị bình thường cho nó giống như TextBox.

Add combobox vào gridview cũng tương tự như vậy.

Update nguyên GridView xuống CSDL nữa.

Hì hì mới học xong giờ có đất dụng võ rồi, hay thật. Bạn tham khảo code trên forum của www.huukhang.com, Thầy mình có post bài trên đó rồi.

Thân chào!

AnhGaWe02
11-01-2009, 16:18
Bạn muốn lấy dữ liệu từ CSDL lên cho textBox và DataGridview, khi click vào 1 dòng trên Grid thì textBox hiển thị đúng dùng đó trong CSDl đúng không(VB.net nhé)
1. Ví dụ Table Khach_hang(MaKh,Tenkh, Ngay_sinh, Nghe_nghiep)
Private Bang_khach_hang as XL_khach_hang
Private WithEvents Ds as BindingManagerBase
form_Load(click.......
Bang_khach_hang = new XL_khach_hang
Ds = Me.Bindinhcontext(Bang_khach_hang)
Xuat_luoi
Xuat_ra_textBoxt
end sub
Private sub Xuat_luoi
Luoi.dataSource = Bang_khach_hang
end sub
Private Sub Xuat_ra_textBox
Ten_khach.text = Ds.current("Tenkh")
end sub
''gọi lại trong thủ tục CurrentChange của Ds
Private Sub Ds_CurrentChange........
Xuat_luoi
Xuat_ra_textBox
end sub

''Vậy là okê liền :D. Nhưng cần phải có cái XL_Khach_hang hjhjh
có gì thì spammmm lên diễn đàn ngen

[=========> Bổ sung bài viết <=========]

Muốn làm việc này thì bạn add column cho GridView là GridViewTextBoxColumn, sau đó trứoc khi Load dữ liệu vào grid thì bạn cast nó về kiểu GridViewTextBoxColum và gán giá trị bình thường cho nó giống như TextBox.

Add combobox vào gridview cũng tương tự như vậy.

Update nguyên GridView xuống CSDL nữa.

Hì hì mới học xong giờ có đất dụng võ rồi, hay thật. Bạn tham khảo code trên forum của www.huukhang.com, Thầy mình có post bài trên đó rồi.

Thân chào!

''''''
Làm như cách trên đâu dc., đang nói VB.net 2005 mà, làm gì có GridView :D
À quên! trong Sub Xuat_luoi ban thêm vào dòng Luoi.autocolum.. = False nhe

vudangtam
02-12-2009, 11:11
mình làm lập trình VB.net
câu hỏi của mình như sau:
mình đăng nhập vào chương trình chính (Mainform) bằng 1 From login. nhưng trước khi mở From login thì mình cần cho kết nối dữ liệu. nếu là lần đầu tiên chạy chương trình thì bắt buộc phải kết nối csdl, còn chạy chương trình lần thứ 2 trở đi thì hiện luôn From login, sau khi login xong thi vào Mainform làm việc luôn. bạn nào biết thì trợ giúp cho mình với. chương trình của mình gồm có:
1 From kết nối csdl: 2 textbox: TenCSDL:.... ;TenSERVER,2 nut: Kết Nối CSDL và Huỷ.
2 From Login: gồm có UserName... PassWord, và 2 nút: Login và Thoát
3 From: MainForm
4 mình dùng csdl là SQL server 2000

tranmanhdit
02-12-2009, 12:24
Quá dể. 2 cách:
cách 1: ghi vào file config 1 biến : IsFirstTimesLoad, if true -> connect to DB and set false, if false do nothing
Cách 2: ghi vào registry 1 key, làm tương tự như vậy

vudangtam
02-12-2009, 12:45
mình mới làm VB.net nên bạn noi như vậy mình không hiểu lắm. bạn có thể chiết hơn được không?

[=========> Bổ sung bài viết <=========]

file config ở chỗ nào và cách đặt biến nữa. bạn hỗ trợ mình nhé!

[=========> Bổ sung bài viết <=========]

làm thế nào để ghi 1 key vào registry rồi cách viết code truy xuất cái registry đó. bạn hỗ trợ mình nhé!

[=========> Bổ sung bài viết <=========]

các bạn cho minh hoi cái này nhé:
mình có 1 from mainform gồm 2 datagridview: grdkhachhang va grdnhatkykh. các textbox sau:txtMa_KH,TxtTen_KH,txtDC_KH,txtDT_KH,txtFAXKH, txtdaidienKH,txtMST
bảng dm_kh(Makh,TenKH....), Bảng nhatky_kh(STT,MaKH,TenKH,NgayGD,NOiDungCV,COngViec DaThucHien,CongViecChuaThucHien....)
trên grdnhatkykh chỉ cho hiên các cột NgayGD,NOiDungCV,COngViecDaThucHien,
CongViecChuaThucHien
mình tạo 3 nút:
1 là:thêm giao dịch->thêm dòng mới xuống grdnhatkykh
2 là: sửa giao dịch->cho phep sửa các dòng có sẵn ứng với MaKH trong bảng dm_kh
3 là: lưu giao dịch-> mình muốn lưu các dòng mới thêm vào hoặc các dòng đã được sửa xuống DB (sql 2000).

[=========> Bổ sung bài viết <=========]

các bạn hỗ trợ mình nhé. mình viết rồi nhưng nó chỉ update các cột trong grdnhatkykh còn các cột khác nó để Null.
code của mình:
Dim m As String = "select *from nhatky_kh where
nhatky_kh.MaKH ='" & Me.TxtMa_KH.Text.Trim() & "'
and nhatky_kh.TenKH ='" & Me.TxtTen_KH.Text.Trim() & "'
and nhatky_kh.DCKH ='" & Me.Txtdc_KH.Text.Trim() & "'
and nhatky_kh.DTKH ='" & Me.Txtdt_kh.Text.Trim() & "'
and nhatky_kh.FAXKH ='" & Me.TxtFax_KH.Text.Trim() & "'and nhatky_kh.NGUOIDAIDIEN ='" & Me.TxtDaidien.Text.Trim() & "'
and nhatky_kh.MST ='" & Me.Txtmst.Text.Trim() & "' "

Dim da As New SqlDataAdapter(m, conn)
da.SelectCommand = New SqlCommand(m, conn)
da.Fill(t1)
Dim cb As New SqlCommandBuilder(da)
da.Update(t1)

langxangvn
02-12-2009, 21:29
Bạn chọn cùng binding source cho 2 thằng đó thì sẽ được thôi.

hatinh161
03-12-2009, 14:54
Bai nay viet lau roi nhung gio minh moi doc. Sao chung ta khong tao ra mot anh xa giua mot DatagridviewTextboxColumn va mot Textbox nhi?! Nhu the thi se thuan tien hon, khong phai can den cac su kien CurrentCellChange hay RowEnter nua.
Ai tao duoc Control Datagridview dep dep khong cho xin cai voi
Minh tao duoc mot cai nhung co ve khong dep lam

vudangtam
03-12-2009, 15:55
Không có pro nào chịu ra tay hỗ trợ mình cái này à. bà con ơi giúp mình nhé!!!!!!!!

[=========> Bổ sung bài viết <=========]

Có Bạn Nào Online Không? cho mình Hỏi Cái Này Với:
mình tạo nút mới sau đó tạo nút lưu nhưng mình gặp lỗi như sau:
sau khi nhập dữ liệu vào các textbox rồi nhấp lưu thì nó insert 2 dòng liền vào datagridview, trong thực tế thì ở CSDL chỉ có một dòng. bây giờ làm sao đẻ sửa chỉ cho insert 1 dòng vào datagridview đây?
code của mình như sau:

Btsuakh.Enabled = True
btluusua.Enabled = True
Btxoa.Enabled = True
btsuagd.Enabled = True
Dim row As DataRow = t.NewRow()
row("MaKH") = TxtMa_KH.Text
row("TenKH") = TxtTen_KH.Text
row("DCKH") = Txtdc_KH.Text
row("DTKH") = Txtdt_kh.Text
row("FAXKH") = TxtFax_KH.Text
row("NGUOIDAIDIEN") = TxtDaidien.Text
row("MST") = Txtmst.Text
t.Rows.Add(row)
Dim commaninsert As New SqlCommand()
commaninsert.Connection = conn
commaninsert.CommandType = CommandType.Text
commaninsert.CommandText = "insert into dm_kh values(@MaKH,@TenKH,@DCKH,@DTKH,@FAXKH,@NGUOIDAIDI EN,@MST)"
commaninsert.Parameters.Add("Makh", SqlDbType.NVarChar, 90, "Makh")
commaninsert.Parameters.Add("Tenkh", SqlDbType.NVarChar, 150, "TenKH")
commaninsert.Parameters.Add("DCKH", SqlDbType.NVarChar, 150, "DCKH")
commaninsert.Parameters.Add("DTKH", SqlDbType.Char, 11, "DTKH")
commaninsert.Parameters.Add("NGUOIDAIDIEN", SqlDbType.NVarChar, 20, "NGUOIDAIDIEN")
commaninsert.Parameters.Add("FAXKH", SqlDbType.Char, 11, "FAXKH")
commaninsert.Parameters.Add("MST", SqlDbType.Char, 11, "MST")
da.InsertCommand = commaninsert
Grdkhachhang.Refresh()
GrdnhatkyKH.Refresh()
da.Update(t)