• Like
Lecture7 8
Upcoming SlideShare
Loading in...5
×
Uploaded on

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
306
On Slideshare
0
From Embeds
0
Number of Embeds
3

Actions

Shares
Downloads
3
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. ADO.NET КОНТРОЛД ӨГӨГДӨЛ ХОЛБОХ Лекц №7-8 1
  • 2. АГУУЛГА     Өгөгдөл холболт Энгийн холболт Нийлмэл холболт Өгөгдөлтэй ажиллах контролууд Лекц №7-8 2
  • 3. ӨГӨГДӨЛ ХОЛБОЛТ      Өгөгдөл холболт гэдэг нь контролын агуулгыг өгөгдлийн эх үүсвэртэй холбохыг хэлнэ. Контрол нь өгөгдлийн эх үүсвэрлүү шууд холболт хийдэггүй. Контрол нь завсарын эх үүсвэртэй, завсрын эх үүсвэр нь өгөгдлийн эх үүсвэртэй холбогдоно. Ө.Х Контрол болон өгөгдлийн эх үүсвэр хоѐрын холбогч нь завсрын эх үүсвэр юм. Завсрын эх үүсвэр гэдэг нь санах ойд байрлах өгөгдлийн төлөөлөл юм. Т.Гантөр 3
  • 4. ӨГӨГДӨЛ ХОЛБОЛТ Өгөгдлийн холболт нь дараах төрлүүдтэй:  Энгийн холболт – зөвхөн нэг утга харуулдаг контролд ашиглагдана.  Нийлмэл холболт – жагсаалт, грид гэх мэт олон өгөгдлийг харуулдаг контролд ашиглагдана. Т.Гантөр 4
  • 5. ӨГӨГДӨЛ ХОЛБОЛТ Өгөгдлийн эх үүсвэр болон контролын хооронд өгөгдлийг холбоход дараах гол объектууд хэрэглэгдэнэ.  Binding – объект болон контролын хооронд энгийн холболт хийнэ.  CurrencyManager – Binding объектуудын жагсаалтыг удирдана. Жагсаалт хэлбэрийн үүсгэврүүдтэй ажилладаг холболтын менежер.  PropertyManager объектын шинжийг контролтой холбох менежер.  BindingContext – контролын бүх холболтын менежерүүдийн мэдээллийг хадгалж зохицуулдаг бөгөөд үүнийг голдуу өгөгдлийн эх үүсвэрт харгалзах холболтын менежерт хандахад ашигладаг. Т.Гантөр 5
  • 6. ӨГӨГДӨЛ ХОЛБОЛТ Т.Гантөр 6
  • 7. ӨГӨГДӨЛ ХОЛБОЛТ ЭНГИЙН ХОЛБОЛТ • • Энгийн холболтыг ямарч контролд хэрэглэж болох ба нэг контролын хэд хэдэн шинжид ч зэрэг хэрэглэж болно. Тухайн контролын DataBinding.Add() метод нь өгөгдлийн эх үүсвэрийг контролын пропертуудтай холбох холболтуудын олонлог үүсгэнэ. Т.Гантөр 7
  • 8. ӨГӨГДӨЛ ХОЛБОЛТ ЭНГИЙН ХОЛБОЛТ • DataBindings.Add(string propertyName, object dataSourse, string dataMember) propertyName – тухайн контролын өгөгдөл холбох шинж dataSource – өгөгдлийн эх үүсвэр dataMember – өгөгдлийн эх үүсвэр дэхь талбарын нэр Т.Гантөр 8
  • 9. ӨГӨГДӨЛ ХОЛБОЛТ ЭНГИЙН ХОЛБОЛТ DataTable dt=new DataTable(“User”); SqlConnection conn= common.getConn(); Conn.Open(); SqlCommand cmd=new SqlCommand(“select d.id, fullname, permission, reg_date from (select username, permission, b.id from permission a join [user] b on a.id=permission_id) c join worker d on c.id=d.login_id”, conn); SqlDataReader rdr=cmd.ExecuteReader(); dt.Load(rdr); textBox1.DataBindings.Add(“Text”, dt, ”fullname”); Т.Гантөр 9
  • 10. ӨГӨГДӨЛ ХОЛБОЛТ ЭНГИЙН ХОЛБОЛТ Text1.DataBindings.Add(new Binding (“Text”, ds, ”customers.custName”)); DataTimePicker1.DataBindings.Add(new Binding(“Value”, ds, “customers.CustToOrders.OrderDate ”)); Binding b= new Binding(“Text”, ds, “customers.custToOrders.OrderAmo unt”); Text3.DataBindings.Add(b); Т.Гантөр 10
  • 11. ӨГӨГДӨЛ ХОЛБОЛТ ЭНГИЙН ХОЛБОЛТ • • • • Тухайн контролын нэг пропертид нэг л холболт хийх боломжтой Хэрвээ хоѐр дахь холболт хийхийг оролдвол алдаа үүсэх болно. Үүнээс зайлсхийхийн тулд холболт нэмэх болгондоо өмнө холболт үүссэн эсэхийг шалгаж байх хэрэгтэй Хэрвээ өмнө хийгдсэн холболт байвал түүнийг устгаж байж дараагийн холболтыг хийх хэрэгтэй Т.Гантөр 11
  • 12. ӨГӨГДӨЛ ХОЛБОЛТ ЭНГИЙН ХОЛБОЛТ If(textBox1.DataBindings[“Text”] !=null) textBox1.DataBindings.Remove( textBox1.DataBindings[“Text”]); textBox1.DataBindings.Add(“Text”, dt, “fullname”); Т.Гантөр 12
  • 13. ӨГӨГДӨЛ ХОЛБОЛТ НИЙЛМЭЛ ХОЛБОЛТ • • Нийлмэл холболтоор олон элемэнтийг зэрэг харуулах боломжтой - Жагсаалт хэлбэрээр - Хүснэгт хэлбэрээр Өгөгдлийг харуулж буй хэлбэрээсээ хамааран өгөгдөл холболт нь ялгаатай хийгдэнэ. Т.Гантөр 13
  • 14. ӨГӨГДӨЛ ХОЛБОЛТ ӨГӨГДЛИЙГ ЖАГСААЛТ ХЭЛБЭРИЙН КОНТРОЛД ХОЛБОХ • • Жагсаалт хэлбэрийн ялгаатай хэрэглээтэй контролуудын хувьд өгөгдөл холболтын техник нь адилхан байдаг. Дараах шинжүүд нь ашиглагдана.  DataSourse – өгөгдлийн эх үүсвэр  DisplayMemberконтролд харуулах өгөгдлийн гишүүн  ValueMemberконтролд харагдаж байгаа өгөгдлийн жинхэнэ утгыг илэрхийлэх гишүүн Т.Гантөр 14
  • 15. ӨГӨГДӨЛ ХОЛБОЛТ ӨГӨГДЛИЙГ ЖАГСААЛТ ХЭЛБЭРИЙН КОНТРОЛД ХОЛБОХ Өгөгдөлтэй холбогдсон жагсаалт хэлбэрийн контролуудаас утга сонгоход ValueMember шинжид холбосон талбарын утга SelectedValue шинжид буцна. DisplayMember шинжид холбосон талбарын утга SelectedItem шинжид буцна. Т.Гантөр 15
  • 16. НИЙЛМЭЛ ХОЛБОЛТ ӨГӨГДЛИЙГ ЖАГСААЛТ ХЭЛБЭРИЙН КОНТРОЛД ХОЛБОХ DataTable dt=new DataTable(“User”); SqlConnection conn=common.getConn(); Conn.Open(); SqlCommand cmd=new SqlCommand(“select d.id, fullname, permission, reg_date from (select username, permission, b.id from permission a join [user] b on a.id=permission_id) c join worker d on c.id=d.login_id”, conn); SqlDataReader rdr=cmd.ExecuteReader(); dt.Load(rdr); listBox1.DataSource=dt; listBox1.ValueMember=“id”; listBox1.DisplayMember=“Fullname”; Т.Гантөр 16
  • 17. НИЙЛМЭЛ ХОЛБОЛТ ӨГӨГДЛИЙГ ЖАГСААЛТ ХЭЛБЭРИЙН КОНТРОЛД ХОЛБОХ • • Жагсаалт хэлбэрийн контролыг нэг өгөгдөл харуулах бусад контролуудтай хавсарч хэрэглэснээр нэг мөрийн хэд хэдэн баганыг зэрэг харуулах боломжтой. Үүний тулд тухайн контролуудын өгөгдлийн эх үүсвэрийг адил тодорхойлох шаардлагатай Т.Гантөр 17
  • 18. НИЙЛМЭЛ ХОЛБОЛТ • • • Контролд өгөгдөл холболтыг  нэг чиглэлтэйгээр  хоѐр чиглэлтэйгээр хийж болно. Өгөгдлийг зөвхөн дэлгэц дээр харуулахаар холбож байгаа бол нэг чиглэлтэй холболт болно. Шинэ мөр нэмэх зэргээр цаад өгөгдлийн эх үүсвэрийг өөрчлөх эсвэл контрол дээр харагдаж байгаа утгыг өөрчлөх замаар хийгдсэн өөрчлөлт нь эх үүсвэрт нөлөөлөх бол хоѐр чиглэлтэй холболот болно. Т.Гантөр 18
  • 19. НИЙЛМЭЛ ХОЛБОЛТ Өгөгдлийн эх үүсвэр болон контролын хооронд өгөгдлийг хоѐр чиглэлтэйгээр холбохын тулд хэд хэдэн объектууд хамтарч ажиллах шаардлагатай болно. Т.Гантөр 19
  • 20. DATAGRIDVIEW КОНТРОЛ • • DataGridView контрол нь олон төрлийн өгөгдлийн эх үүсвэрийн өгөгдлийг тэгш өнцөгт хүснэгт хэлбэрээр харуулах , засварлах боломжийг олгоно. DataGridView контрол нь маш олон гишүүдтэй, маш их боломжтой контрол юм. Т.Гантөр 20
  • 21. DATAGRIDVIEW КОНТРОЛ Контролын бүтэц • • • DataGridView контрол нь нүднүүд(cells) болон зурваснууд(bands) гэсэн үндсэн хоѐр төрлийн объектоос бүрддэг. Нүднүүд нь DataGridViewCell классаас удамшина DataGridViewColumn, DataGridViewRow гэсэн хоѐр төрлийн зурвас нь DataGridViewBand классаас удамшина. Т.Гантөр 21
  • 22. DATAGRIDVIEW КОНТРОЛ КОНТРОЛЫН БҮТЭЦ Т.Гантөр 22
  • 23. DATAGRIDVIEW КОНТРОЛ Контролын бүтэц- Нүд • • • • DataGridView контролын үндсэн нэгж нь нүд юм. Харагдах байдал нь нүднүүд дээр төвлөрөх ба өгөгдөл оруулалт нь нүднүүдээр гүйцэтгэгдэнэ. Нүдэнд хандахдаа мөрийн(DataGridViewRow) Cells олонлогийг ашиглана. Сонгогдсон нүдэнд хандах бол DataGridView контролын SelectedCells Т.Гантөр олонлогийг ашиглана. 23
  • 24. DATAGRIDVIEW КОНТРОЛ Контролын бүтэц- Нүд • DataGridView контрол нь дараах төрлийн нүднүүдтэй байж болно.  DataGridViewTextBoxCell DataGridViewButtonCell DataGridViewLinkCell DataGridViewCheckBoxCell DataGridViewComboBoxCell DataGridViewImageCell DataGridViewHeaderCell DataGridViewRowHeaderCell DataGridViewColumnHeaderCell DataGridViewTopLeftHeaderCell Т.Гантөр 24
  • 25. DATAGRIDVIEW КОНТРОЛ Контролын бүтэц- Нүд Багш: Магситр Т.Гантөр 25
  • 26. DATAGRIDVIEW КОНТРОЛ Контролын бүтэц- Багана • • DataGridView контролын Columns олонлогийг ашиглан баганад хандана. Харин сонгогдсон багануудад хандах бол SelectedColumns олонлогийг ашиглана. Дараах төрлийн баганууд байна.  DataGridViewButtonColumn DataGridViewCheckBoxColumn DataGridViewComboBoxColumn DataGridViewImageColumn DataGridViewTextBoxColumn DataGridViewLinkColumn Т.Гантөр 26
  • 27. DATAGRIDVIEW КОНТРОЛ Контролын бүтэц- Багана Т.Гантөр 27
  • 28. DATAGRIDVIEW КОНТРОЛ Контролын бүтэц- Мөр • DataGridView контролын Rows олонлогийг ашиглан мөрөнд хандана. Харин сонгогдсон мөрүүдэд хандах бол SelectedRows олонлогийг ашиглан. Т.Гантөр 28
  • 29. DATAGRIDVIEW КОНТРОЛ Контролын бүтэц- Мөр Т.Гантөр 29
  • 30. DATAGRIDVIEW КОНТРОЛ Контролын бүтэц Багш: Магситр Т.Гантөр 30
  • 31. DATAGRIDVIEW КОНТРОЛ Багана тодорхойлох DataGridViewTextBoxCell cell=new DataGridViewTextBoxCell(); DataGridViewColumn col=new DataGridViewColumn(cell); Col.HeaderText=“Киноны нэр”; Col.Width=150; dataGridView1.Columns.Add(col); dataGridView1.ColumnCount=3; dataGridView1.Columns[1].HeaderText=“Он”; dataGridView1.Columns[2].HeaderText=“Найруулагч”; dataGridView1.Columns[1].Name=“Year”; dataGridView1.Columns[1].Width=“80”; dataGridView1.Columns[2].Width=“110”; Т.Гантөр 31
  • 32. DATAGRIDVIEW КОНТРОЛ Мөр нэмэх object[] row1={“Casablanca”, “1942”, “Micheal Curtiz”}; dataGridView1.Rows.Add(row1); object[] row2={“Raging Bull”, “1980”, “Martin Scorsese”}; dataGridView1.Rows.Add(row2); object[] row3={“On the Waterfront”, “1954”, “Elia Kazan”}; dataGridView1.Rows.Add(row3); object[] row4={“Some Like it Hot”, “1959”, “Billy Wilder”}; dataGridView1.Rows.Add(row4); 32 Багш: Магситр Т.Гантөр
  • 33. DATAGRIDVIEW КОНТРОЛ DataGridView классын чухал шинжүүд Шинжүүд Тайлбар AllowUserToAddRows Хэрэглэгч мөр нэмж болох эсэхийг тодорхойлно. AllowUserToDeleteRows Хэрэглэгч мөр устгаж болох эсэхийг тодорхойлно. AllowUserToOrderColumns Хэрэглэгч багануудын байрлалыг солих эсэхийг тодорхойлно. AllowUserToResizeColumns Хэрэглэгч баганын хэмжээг өөрчилж болох эсэхийг тодорхойлно. AllowUserToResizeRows Хэрэглэгч мөрийн хэмжээг өөрчилж болох эсэхийг тодорхойлно. Багш: Магситр Т.Гантөр 33
  • 34. DATAGRIDVIEW КОНТРОЛ DataGridView классын чухал шинжүүд • dataGridView1.AllowUserToAddRows=true; • dataGridView1.AllowUserToAddRows=false; Багш: Магситр Т.Гантөр 34
  • 35. DATAGRIDVIEW КОНТРОЛ DataGridView классын чухал шинжүүд Шинжүүд Тайлбар SelectionMode Мөр сонгох горимыг DataGridViewSelectionMode төрлөөр тодорхойлно. MultiSelect Тухайн нэг эгшинд нэгээс олон мөр , багана , мөр сонгож болох эсэхийг тодорхойлно. CurrentCell Идэвхитэй нүдийг тодорхойлно, буцаана CurrentCellAddress Идэвхитэй нүдний мөр, баганын индексийг буцаана. CurrentRows Идэвхитэй нүдийг агуулж буй мөрийг буцаана. NewRowIndex Шинэ бичлэгийн мөрийн индексийг буцаана. Багш: Магситр Т.Гантөр 35
  • 36. DATAGRIDVIEW КОНТРОЛ DataGridView классын чухал шинжүүд Шинжүүд CellBorderStyle DefaultCellStyle GridColor BackColor BackgroundColor BorderStyle Тайлбар Нүднүүдийн хүрээний хэлбэрийг мөр хооронд, багана хооронд, мөр багана хооронд ямар байхыг тодорхойлно. Нүдний хэлбэрийг тодорхойлно. Нүднүүдийг хүрээлэх шугамнуудын өнгийг тодорхойлно. Контролын дэвсгэр өнгийг тодорхойлно. Нүднүүдийн дэвсгэр өнгийг тодорхойлно. Контролын хүрээний хэлбэрийг тодорхойлно. AlternatingRowsDefaul Сондгой дугаартай мөрийн харагдах хэлбэрийг тодорхойлно. tCellStyle Багш: Магситр Т.Гантөр 36
  • 37. DATAGRIDVIEW КОНТРОЛ DataGridView классын чухал шинжүүд DataGridViewCellStyle style=new DataGridViewCellStyle(); style.BackColor=Color.Bisque; style.Font=new Font(“Arial”,8,FontStyle.Bold); Style.ForeColor=Color.Navy; Style.Paddin=new Padding(5,2,5,5); style.SelectionBackColor=Color.LightBlue; dataGridView1.DefaultCellStyle=style; Багш: Магситр Т.Гантөр 37
  • 38. DATAGRIDVIEW КОНТРОЛ DataGridView классын чухал методууд Методууд BeginEdit() CancelEdit() EndEdit() CommitEdit() Тайлбар Идэвхитэй нүдийг засварлах горимд шилжүүлнэ. Идэвхитэй нүдэнд хийсэн өөрчлөлтүүдийг хэрэгсэхгүй болгож, засварлах горимыг цуцлана. идэвхитэй нүдний засварлах үйлдлийг дуусгана. Идэвхитэй нүдийг засварлах горимыг дуусгахгүйгээр өөрчлөлтийг хэрэгжүүлнэ. Багш: Магситр Т.Гантөр 38
  • 39. DATAGRIDVIEW КОНТРОЛ DataGridView классын чухал үзэгдлүүд Үзэгдлүүд Тайлбар CellValueChanged Нүдний утга өөрчлөгдөх үед үүснэ. CurrentCellChanged Идэвхитэй нүдний утга өөрчлөгдөх үед үүснэ. CellClick Нүдэн дээр дарахад үүснэ. CellContentClick Нүдний агуулга дээр дарахад үүснэ. CellEnter, CellLeave Нүд фокус авах, алдахад үүснэ. ColumnHeaderMouseClick ColumnHeaderMouseDoubleClick Баганын толгой дээр дарахад үүснэ. RowEnter, RowLeave Мөр фокус авах, алдахад үүснэ. RowHeaderMouseClick RowHeaderMouseDoubleClick Мөрийн толгой дээр дарахад үүснэ. UserAddedRow, UserDeletedRow Мөр нэмэх, устгах үед үүснэ. 39
  • 40. DATAGRIDVIEW КОНТРОЛ DataGridView классын чухал үзэгдлүүд Үзэгдлүүд Тайлбар CellValueChanged Нүдний утга өөрчлөгдөхөд CurrentCellChanged Идэвхитэй нүд өөрчлөгдөхөд CellClick Нүдэн дээр дарахад CellContentClick Нүдний агуулга дээр дарахад CellEnter, CellLeave Нүд идэвхижихэд, идэвхигүй болоход ColumnHeaderMouseClick Баганын толгой дээр хулганаар дарахад ColumnHeaderMouseDo Баганын толгой дээр хулганаар хоѐр дарахад ubleClick RowEnter, RowLeave Мөр идэвхижихэд, идэвхигүй болоход 40
  • 41. DATAGRIDVIEW КОНТРОЛ DataGridViewColumn классын чухал гишүүд Шинжүүд Тайлбар AutoSizeMode Баганын өргөнийг автоматаар тохируулах горимыг тодорхойлно, буцаана. HeaderCell Баганын толгойг тодорхойлно, буцаана. HeaderText Баганын толгойн нүдний гарчиг текстийг тодор/буц Frozen Баганыг хөдөлгөөнгүй болгох эсэхийг тодор/буц MininumWidth Баганын өргөнийг хамгийн бага хязгаарыг тодор/буц Width Баганын өргөнийг тодорхойлно ,буцаана ReadOnly Баганын утгуудыг засаж болох эсэхийг тодорхойлно. SortMode Баганын эрэмбэлэх горимыг тодорхойлно ,буцаана. ValueType Баганын нүднүүдийн авах утгын төрлийг буцаана. 41
  • 42. DATAGRIDVIEW КОНТРОЛ DataGridViewColumn классын чухал гишүүд dataGridView1.Columns[0].Frozen=true; //хөдөлгөөнгүй багана dataGridView1.Columns[2].ReadOnly=true; //зөвхөн уншигдах багана dataGridView1.Columns[0].MinimumWidth=10 0; //өргөний хязгаарлалт dataGridView1.Columns[0].SortMode=DataGri dViewColumnSortMode.NotSortable; //эрэмбэлэлт 42
  • 43. DATAGRIDVIEW КОНТРОЛ DataGridViewRow классын чухал гишүүд Шинжүүд Тайлбар Cells Мөрөн дэх нүднүүдийн олонлог буцаана. IsNewRow Тухайн мөр нь шинэ бичлэгт зориулсан мөр мөн эсэхийг буцаана. Selected Тухайн мөр сонгогдсон эсэхийг тодорхойлно, буцаана Height Мөрийн өндрийг тодорхойлно, буцаана 43
  • 44. DATAGRIDVIEW КОНТРОЛ DataGridViewCell классын чухал гишүүд Шинжүүд Тайлбар ColumnIndex Тухайн нүдний байрлах баганын индексийг буцаана RowIndex Тухайн нүдний байрлах мөрийн индексийг буцаана Value Тухайн нүдний утгыг буцаана OwningColumn Тухайн нүдийг агуулж байгаа баганыг буцаана OwningRow Тухайн нүдийг агуулж байгаа мөрийг буцаана. 44
  • 45. НИЙЛМЭЛ ХОЛБОЛТ Өгөгдлийг хүснэгт хэлбэрийн контролд холбох • Хүснэгт хэлбэрийн контрол буюу DataGridView контролд өгөгдөл холбохдоо дараах пропертуудыг ашиглана.  DataSource – өгөгдлийн эх үүсвэрийг тодорхойлно.  DataMember – өгөгдлийн эх үүсвэр дэх хүснэгтийн нэрийг тодорхойлно.  DataPropertyName – багананд холбох өгөгдлийн үүсвэрийг тодорхойлно. Багш: Магситр Т.Гантөр 45
  • 46. НИЙЛМЭЛ ХОЛБОЛТ Өгөгдлийг хүснэгт хэлбэрийн контролд холбох String strSQL= “sp_selectReader”; SqlDataAdapter da = new SqlDataAdapter(strSQL, strconn); DataSet ds = new DataSet(); da.Fill(ds, “reader”); dgReader.DataSource = ds; dgReader.DataMember=“reader”; dgReader.Columns.Clear(); dgReader.Columns.Add(“id”,”id”); dgReader.Columns[“id”].DataPropertyName=“id”; dgReader.Columns[“id”].Visible=false; dgReader.Columns.Add(“regnum”,”Бүртгэлийн дугаар”); dgReader.Columns[“regnum”].DataPropertyName= “card_number”; Багш: Магситр Т.Гантөр 46
  • 47. НИЙЛМЭЛ ХОЛБОЛТ Мастер- дагуул DataGridView • DataGridView контролын Rows олонлогийг ашиглан мөрөнд хандана. Харин сонгогдсон мөрүүдэд хандах бол SelectedRows олонлогийг ашиглана. Багш: Магситр Т.Гантөр 47
  • 48. • BindingSource компонент нь контролыг үндсэн өгөгдлийн эх үүсвэртэй холбох үйл ажиллагааг хялбарчлах зорилгоор бүтээгдсэн. • BindingSource компонент нь контрол болон өгөгдлийн эх үүсвэрийн хооронд хоѐр чиглэлд өгөгдөл дамжуулах үүргийг гүйцэтгэнэ. Өөрөөр хэлбэл командуудаах дамжуулан форм дээрх өгөгдлүүдийг өгөгдлийн үндсэн жагсаалтруу илгээх боломжийг олгодог. Багш: Магситр Т.Гантөр 48
  • 49. Багш: Магситр Т.Гантөр 49
  • 50. Өгөгдлийн эх үүсвэрийг тодорхойлох • • BindingSource контролд өгөгдлийн эх үүсвэрийг тодорхойлохдоо DataSource шинжийг нь ашиглана. Харин контролуудын хувьд өгөгдлийн эх үүсвэр тодорхойлох шинжид BindingSource контролыг холбож өгнө. Багш: Магситр Т.Гантөр 50
  • 51. Өгөгдлийн эх үүсвэрийг тодорхойлох SqlConnection conn = new SqlConnection(“data sourse=bataa; database=library; user id=sa; password=12345”); BindingSource bs = new BindingSourse(); SqlCommand cmd = new SqlCommand(“select*from author”, conn); Conn.Open(); bs.DataSource=cmd.ExecuteReader(); textBox1.DataBindings.Add(“Text”, bs, “author_fullname”); Conn.Close(); Багш: Магситр Т.Гантөр 51
  • 52. Өгөгдлийн эх үүсвэрийг тодорхойлох SqlConnection conn = new SqlConnection(“data sourse=bataa; database=library; user id=sa; password=12345”); BindingSource bs = new BindingSourse(); da.Fill(ds, “author”); bs.DataSource = ds.Tables[0]; dataGridView1.DataSource=bs; Багш: Магситр Т.Гантөр 52
  • 53. Өгөгдлийг боловсруулах BindingSource контрол нь завсарын эх үүсвэр дэхь өгөгдөлрүү хандах, боловсруулах боломжоор хангах гишүүдтэй байдаг. Гишүүд Тайлбар List Контролтой холбогдсон жагсаалтыг буцаана. Position Идэвхитэй элемэнтийг байрлалыг тодорхойлно, буцаана Current Өгөгдлийн эх үүсвэрийн идэвхитэй элемэнтийг буцаана Sort Өгөгдлийг эрэмбэлэх талбарын нэр, эрэмбийн чиглэлийг тодорхойлно, буцаана. Filter Харуулах өгөгдлийг шүүхэд ашиглах илэрхийллийг тодорхойлно, буцаана. Багш: Магситр Т.Гантөр 53
  • 54. Өгөгдлийг боловсруулах Гишүүд Тайлбар MoveFirst() Жагсаалтын эхний элемэнтийг идэвхижүүлнэ MoveLast() Жагсаалтын сүүлийн элемэнтийг идэвхижүүлнэ MovePrevious() Жагсаалтын өмнөх элемэнтийг идэвхижүүлнэ MoveNext() Жагсаалтын дараагийн элемэнтийг идэвхижүүлнэ RemoveCurrent() Жагсаалтаас идэвхитэй элемэнтийг устгана AddNew() Жагсаалтад шинэ элемэнт нэмнэ EndEdit() Завсрын эх үүсвэрт хийгдсэн өөрчлөлтийг хэрэгжүүлнэ. CancelEdit() Засврын эх үүсвэрт хийгдсэн өөрчлөлтийг цуцлана. Багш: Магситр Т.Гантөр 54
  • 55. Өгөгдлийг боловсруулах SqlDataAdapter da = new SqlDataAdapter(“select*from book_sub”, “data source=bataa; database=library; user id=sa; password=12345”); DataSet ds =new DataSet(); BindingSource bs = new BindingSourse(); da.Fill(ds, “type”); bs.DataSource= ds.Tables[0]; bs.Sort = “sub_type ASC”; bs.Filter=“book_type_id=4”; dataGridView1.DataSource=bs; Багш: Магситр Т.Гантөр 55
  • 56. Өгөгдлийг боловсруулах 56
  • 57. • BindingNavigator контрол нь форм дээрх өгөгдөлтэй холбогдсон контролуудыг хэрэглэнчийн интерфейсээр удирдах боломжийг олгоно. Ө.х BindingSource компненттой уялдаж ажиллан , форм дээрх өгөгдлийг боловсруулах, удирдах боломжийг хэрэглэгчид олгодог контрол юм. Багш: Магситр Т.Гантөр 57
  • 58. • • BindingNavigator контрол нь өгөгдөл нэмэх, өгөгдөл устгах, өгөгдлийг удирдах гэх мэт өгөгдөлтэй ажиллах ихэнх стандарт үйлдлүүдэд зориулагдсан ToolStripItem объектуудын нэгдэл болсон хэрэгслийн мөр байдлаар зохион байгуулагдсан байдаг. BindingNavigator контролд өгөгдлийн эх үүсвэрийг нь BindingSource компонентоор тодорхойлно. Багш: Магситр Т.Гантөр 58
  • 59. Багш: Магситр Т.Гантөр 59
  • 60. Хэрэглэгчийн контрол BindingNavigatorын гишүүд BindingSource-ын гишүүд Эхний элемэнтрүү шилжүүлэх MoveFirstItem MoveFirst Өмнөх элемэнтрүү шилжүүлэх MovePreviousItem MovePrevious Идэвхитэй элемэнтийн байрлал PositionItem Current Элемэнтийн тоо CountItem Count Дараагийн элемэнтрүү MoveNextItem MoveNext Сүүлчийн элемэнтрүү шилжүүлэх MoveLastItem MoveLast Шинээр элемэнт нэмэх AddNewItem AddNew Идэвхитэй элемэнтийг устгах DeleteItem RemoveCurrent шилжүүлэх 60
  • 61. Багш: Магситр Т.Гантөр 61
  • 62. SqlDataAdapter da = new SqlDataAdapter(“select*from book_sub”, “data source=bataa; database=library; user id=sa; password=12345”); DataSet ds =new DataSet(); BindingSource bs = new BindingSourse(); private void Form1_Load(object sender, EventArgs e) { da.Fill(ds, “type”); bs.DataSource= ds.Tables[0]; bindingNavigator1.BindingSource=bs; dataGridView1.DataSource=bs; } Багш: Магситр Т.Гантөр 62
  • 63. private void bindingNavigatorAddNewItem_Click(object sender, EventArgs e) { dataGridView1.BeginEdit(true); } private void btnSave_Click(object sender, EventArgs e) { SqlCommandBuilder cmdb= new SqlCommandBuilder(da); daUpdate(ds.Tables[0]); } Багш: Магситр Т.Гантөр 63
  • 64. Багш: Магситр Т.Гантөр 64