Download - Lecture7 8
КОНТРОЛД ӨГӨГДӨЛ ХОЛБОХ
ADO.NET
Лекц №7-8
1
АГУУЛГА
Өгөгдөл холболт
Энгийн холболт
Нийлмэл холболт
Өгөгдөлтэй ажиллах контролууд
2
Лекц №7-8
ӨГӨГДӨЛ ХОЛБОЛТ
Өгөгдөл холболт гэдэг нь контролын агуулгыгөгөгдлийн эх үүсвэртэй холбохыг хэлнэ.
Контрол нь өгөгдлийн эх үүсвэрлүү шуудхолболт хийдэггүй.
Контрол нь завсарын эх үүсвэртэй, завсрын эхүүсвэр нь өгөгдлийн эх үүсвэртэй холбогдоно.
Ө.Х Контрол болон өгөгдлийн эх үүсвэр хоѐрынхолбогч нь завсрын эх үүсвэр юм.
Завсрын эх үүсвэр гэдэг нь санах ойд байрлахөгөгдлийн төлөөлөл юм.
3Т.Гантөр
ӨГӨГДӨЛ ХОЛБОЛТ
Өгөгдлийн холболт нь дараах төрлүүдтэй:
Энгийн холболт – зөвхөн нэг утга харуулдаг
контролд ашиглагдана.
Нийлмэл холболт – жагсаалт, грид гэх мэт
олон өгөгдлийг харуулдаг контролд
ашиглагдана.
4Т.Гантөр
Өгөгдлийн эх үүсвэр болон контролын хоорондөгөгдлийг холбоход дараах гол объектуудхэрэглэгдэнэ.
Binding – объект болон контролын хооронд энгийнхолболт хийнэ.
CurrencyManager – Binding объектуудын жагсаалтыгудирдана. Жагсаалт хэлбэрийн үүсгэврүүдтэйажилладаг холболтын менежер.
PropertyManager - объектын шинжийг контролтойхолбох менежер.
BindingContext – контролын бүх холболтынменежерүүдийн мэдээллийг хадгалж зохицуулдагбөгөөд үүнийг голдуу өгөгдлийн эх үүсвэрт харгалзаххолболтын менежерт хандахад ашигладаг.
5
ӨГӨГДӨЛ ХОЛБОЛТ
Т.Гантөр
6
ӨГӨГДӨЛ ХОЛБОЛТ
Т.Гантөр
ЭНГИЙН ХОЛБОЛТ
• Энгийн холболтыг ямарч контролд
хэрэглэж болох ба нэг контролын хэд
хэдэн шинжид ч зэрэг хэрэглэж болно.
• Тухайн контролын DataBinding.Add()
метод нь өгөгдлийн эх үүсвэрийг
контролын пропертуудтай холбох
холболтуудын олонлог үүсгэнэ.
7
ӨГӨГДӨЛ ХОЛБОЛТ
Т.Гантөр
ЭНГИЙН ХОЛБОЛТ
• DataBindings.Add(string propertyName, object
dataSourse, string dataMember)
propertyName – тухайн контролын өгөгдөл
холбох шинж
dataSource – өгөгдлийн эх үүсвэр
dataMember – өгөгдлийн эх үүсвэр дэхь
талбарын нэр
8
ӨГӨГДӨЛ ХОЛБОЛТ
Т.Гантөр
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
ӨГӨГДӨЛ ХОЛБОЛТ
ЭНГИЙН ХОЛБОЛТ
Т.Гантөр
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
ӨГӨГДӨЛ ХОЛБОЛТ
ЭНГИЙН ХОЛБОЛТ
Т.Гантөр
If(textBox1.DataBindings[“Text”] !=null)
textBox1.DataBindings.Remove(
textBox1.DataBindings[“Text”]);
textBox1.DataBindings.Add(“Text”, dt, “fullname”);
12
ӨГӨГДӨЛ ХОЛБОЛТ
ЭНГИЙН ХОЛБОЛТ
Т.Гантөр
НИЙЛМЭЛ ХОЛБОЛТ
• Нийлмэл холболтоор олон элемэнтийг
зэрэг харуулах боломжтой
- Жагсаалт хэлбэрээр
- Хүснэгт хэлбэрээр
• Өгөгдлийг харуулж буй хэлбэрээсээ
хамааран өгөгдөл холболт нь ялгаатай
хийгдэнэ.
13
ӨГӨГДӨЛ ХОЛБОЛТ
Т.Гантөр
ӨГӨГДЛИЙГ ЖАГСААЛТ ХЭЛБЭРИЙН КОНТРОЛД ХОЛБОХ
• Жагсаалт хэлбэрийн ялгаатай хэрэглээтэйконтролуудын хувьд өгөгдөл холболтынтехник нь адилхан байдаг.
• Дараах шинжүүд нь ашиглагдана.
DataSourse – өгөгдлийн эх үүсвэр
DisplayMember- контролд харуулахөгөгдлийн гишүүн
ValueMember- контролд харагдаж байгааөгөгдлийн жинхэнэ утгыг илэрхийлэхгишүүн
14
ӨГӨГДӨЛ ХОЛБОЛТ
Т.Гантөр
Өгөгдөлтэй холбогдсон жагсаалт хэлбэрийн
контролуудаас утга сонгоход
ValueMember шинжид холбосон
талбарын утга SelectedValue шинжид
буцна.
DisplayMember шинжид холбосон
талбарын утга SelectedItem шинжид буцна.
15
ӨГӨГДӨЛ ХОЛБОЛТ
ӨГӨГДЛИЙГ ЖАГСААЛТ ХЭЛБЭРИЙН КОНТРОЛД ХОЛБОХ
Т.Гантөр
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
НИЙЛМЭЛ ХОЛБОЛТ
ӨГӨГДЛИЙГ ЖАГСААЛТ ХЭЛБЭРИЙН КОНТРОЛД ХОЛБОХ
Т.Гантөр
• Контролд өгөгдөл холболтыг
нэг чиглэлтэйгээр
хоѐр чиглэлтэйгээр хийж болно.
• Өгөгдлийг зөвхөн дэлгэц дээр харуулахаар
холбож байгаа бол нэг чиглэлтэй холболт
болно.
• Шинэ мөр нэмэх зэргээр цаад өгөгдлийн эх
үүсвэрийг өөрчлөх эсвэл контрол дээр
харагдаж байгаа утгыг өөрчлөх замаар
хийгдсэн өөрчлөлт нь эх үүсвэрт нөлөөлөх
бол хоѐр чиглэлтэй холболот болно.18
НИЙЛМЭЛ ХОЛБОЛТ
Т.Гантөр
Өгөгдлийн эх үүсвэр болон контролын
хооронд өгөгдлийг хоѐр чиглэлтэйгээр
холбохын тулд хэд хэдэн объектууд
хамтарч ажиллах шаардлагатай болно.
19
НИЙЛМЭЛ ХОЛБОЛТ
Т.Гантөр
DATAGRIDVIEW КОНТРОЛ
• DataGridView контрол нь олон төрлийн
өгөгдлийн эх үүсвэрийн өгөгдлийг тэгш
өнцөгт хүснэгт хэлбэрээр харуулах ,
засварлах боломжийг олгоно.
• DataGridView контрол нь маш олон
гишүүдтэй, маш их боломжтой контрол
юм.
20Т.Гантөр
Контролын бүтэц
21
• DataGridView контрол нь нүднүүд(cells)
болон зурваснууд(bands) гэсэн үндсэн
хоѐр төрлийн объектоос бүрддэг.
• Нүднүүд нь DataGridViewCell классаас
удамшина
• DataGridViewColumn, DataGridViewRow
гэсэн хоѐр төрлийн зурвас нь
DataGridViewBand классаас удамшина.
DATAGRIDVIEW КОНТРОЛ
Т.Гантөр
22
DATAGRIDVIEW КОНТРОЛ
КОНТРОЛЫН БҮТЭЦ
Т.Гантөр
• DataGridView контролын үндсэн нэгж нь
нүд юм.
• Харагдах байдал нь нүднүүд дээр
төвлөрөх ба өгөгдөл оруулалт нь
нүднүүдээр гүйцэтгэгдэнэ.
• Нүдэнд хандахдаа
мөрийн(DataGridViewRow) Cells
олонлогийг ашиглана.
• Сонгогдсон нүдэнд хандах бол
DataGridView контролын SelectedCells
олонлогийг ашиглана. 23
Контролын бүтэц- Нүд
DATAGRIDVIEW КОНТРОЛ
Т.Гантөр
• DataGridView контрол нь дараах төрлийн нүднүүдтэй байж болно.
DataGridViewTextBoxCell
DataGridViewButtonCell
DataGridViewLinkCell
DataGridViewCheckBoxCell
DataGridViewComboBoxCell
DataGridViewImageCell
DataGridViewHeaderCell
DataGridViewRowHeaderCell
DataGridViewColumnHeaderCell
DataGridViewTopLeftHeaderCell
24
Контролын бүтэц- Нүд
DATAGRIDVIEW КОНТРОЛ
Т.Гантөр
25
Контролын бүтэц- Нүд
DATAGRIDVIEW КОНТРОЛ
Багш: Магситр Т.Гантөр
• DataGridView контролын Columnsолонлогийг ашиглан баганад хандана. Харин сонгогдсон багануудад хандах бол SelectedColumns олонлогийг ашиглана.
• Дараах төрлийн баганууд байна.
DataGridViewButtonColumn
DataGridViewCheckBoxColumn
DataGridViewComboBoxColumn
DataGridViewImageColumn
DataGridViewTextBoxColumn
DataGridViewLinkColumn
26
Контролын бүтэц- Багана
DATAGRIDVIEW КОНТРОЛ
Т.Гантөр
27
Контролын бүтэц- Багана
DATAGRIDVIEW КОНТРОЛ
Т.Гантөр
• DataGridView контролын Rows олонлогийг
ашиглан мөрөнд хандана. Харин
сонгогдсон мөрүүдэд хандах бол
SelectedRows олонлогийг ашиглан.
28
Контролын бүтэц- Мөр
DATAGRIDVIEW КОНТРОЛ
Т.Гантөр
29
DATAGRIDVIEW КОНТРОЛ
Контролын бүтэц- Мөр
Т.Гантөр
30
Контролын бүтэц
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
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
DATAGRIDVIEW КОНТРОЛ
Багш: Магситр Т.Гантөр
DataGridView классын чухал шинжүүд
Шинжүүд Тайлбар
AllowUserToAddRows Хэрэглэгч мөр нэмж болох эсэхийг
тодорхойлно.
AllowUserToDeleteRows Хэрэглэгч мөр устгаж болох эсэхийг
тодорхойлно.
AllowUserToOrderColumns Хэрэглэгч багануудын байрлалыг
солих эсэхийг тодорхойлно.
AllowUserToResizeColumns Хэрэглэгч баганын хэмжээг өөрчилж
болох эсэхийг тодорхойлно.
AllowUserToResizeRows Хэрэглэгч мөрийн хэмжээг өөрчилж
болох эсэхийг тодорхойлно.
33
DATAGRIDVIEW КОНТРОЛ
Багш: Магситр Т.Гантөр
34
• dataGridView1.AllowUserToAddRows=false;
• dataGridView1.AllowUserToAddRows=true;
DATAGRIDVIEW КОНТРОЛ
DataGridView классын чухал шинжүүд
Багш: Магситр Т.Гантөр
Шинжүүд Тайлбар
SelectionMode Мөр сонгох горимыг DataGridViewSelectionMode
төрлөөр тодорхойлно.
MultiSelect Тухайн нэг эгшинд нэгээс олон мөр , багана , мөр
сонгож болох эсэхийг тодорхойлно.
CurrentCell Идэвхитэй нүдийг тодорхойлно, буцаана
CurrentCellAddress Идэвхитэй нүдний мөр, баганын индексийг буцаана.
CurrentRows Идэвхитэй нүдийг агуулж буй мөрийг буцаана.
NewRowIndex Шинэ бичлэгийн мөрийн индексийг буцаана.
35
DataGridView классын чухал шинжүүд
DATAGRIDVIEW КОНТРОЛ
Багш: Магситр Т.Гантөр
36
Шинжүүд Тайлбар
CellBorderStyleНүднүүдийн хүрээний хэлбэрийг мөр хооронд, багана
хооронд, мөр багана хооронд ямар байхыг
тодорхойлно.
DefaultCellStyleНүдний хэлбэрийг тодорхойлно.
GridColorНүднүүдийг хүрээлэх шугамнуудын өнгийг
тодорхойлно.
BackColorКонтролын дэвсгэр өнгийг тодорхойлно.
BackgroundColorНүднүүдийн дэвсгэр өнгийг тодорхойлно.
BorderStyle Контролын хүрээний хэлбэрийг тодорхойлно.
AlternatingRowsDefaul
tCellStyle
Сондгой дугаартай мөрийн харагдах хэлбэрийг
тодорхойлно.
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
DATAGRIDVIEW КОНТРОЛ
DataGridView классын чухал шинжүүд
Багш: Магситр Т.Гантөр
DataGridView классын чухал методууд
Методууд Тайлбар
BeginEdit()Идэвхитэй нүдийг засварлах горимд шилжүүлнэ.
CancelEdit()Идэвхитэй нүдэнд хийсэн өөрчлөлтүүдийг
хэрэгсэхгүй болгож, засварлах горимыг цуцлана.
EndEdit()идэвхитэй нүдний засварлах үйлдлийг дуусгана.
CommitEdit()Идэвхитэй нүдийг засварлах горимыг
дуусгахгүйгээр өөрчлөлтийг хэрэгжүүлнэ.
38
DATAGRIDVIEW КОНТРОЛ
Багш: Магситр Т.Гантөр
DataGridView классын чухал үзэгдлүүд
Үзэгдлүүд Тайлбар
CellValueChanged Нүдний утга өөрчлөгдөх үед үүснэ.
CurrentCellChanged Идэвхитэй нүдний утга өөрчлөгдөх үед
үүснэ.
CellClick Нүдэн дээр дарахад үүснэ.
CellContentClick Нүдний агуулга дээр дарахад үүснэ.
CellEnter, CellLeave Нүд фокус авах, алдахад үүснэ.
ColumnHeaderMouseClick
ColumnHeaderMouseDoubleClick
Баганын толгой дээр дарахад үүснэ.
RowEnter, RowLeave Мөр фокус авах, алдахад үүснэ.
RowHeaderMouseClick
RowHeaderMouseDoubleClick
Мөрийн толгой дээр дарахад үүснэ.
UserAddedRow, UserDeletedRow Мөр нэмэх, устгах үед үүснэ.39
DATAGRIDVIEW КОНТРОЛ
Үзэгдлүүд Тайлбар
CellValueChanged Нүдний утга өөрчлөгдөхөд
CurrentCellChanged Идэвхитэй нүд өөрчлөгдөхөд
CellClick Нүдэн дээр дарахад
CellContentClick Нүдний агуулга дээр дарахад
CellEnter, CellLeave Нүд идэвхижихэд, идэвхигүй болоход
ColumnHeaderMouseClick Баганын толгой дээр хулганаар дарахад
ColumnHeaderMouseDo
ubleClick
Баганын толгой дээр хулганаар хоѐр дарахад
RowEnter, RowLeave Мөр идэвхижихэд, идэвхигүй болоход 40
DATAGRIDVIEW КОНТРОЛ
DataGridView классын чухал үзэгдлүүд
DataGridViewColumn классын чухал гишүүд
Шинжүүд Тайлбар
AutoSizeMode Баганын өргөнийг автоматаар тохируулах горимыг
тодорхойлно, буцаана.
HeaderCell Баганын толгойг тодорхойлно, буцаана.
HeaderText Баганын толгойн нүдний гарчиг текстийг тодор/буц
Frozen Баганыг хөдөлгөөнгүй болгох эсэхийг тодор/буц
MininumWidth Баганын өргөнийг хамгийн бага хязгаарыг тодор/буц
Width Баганын өргөнийг тодорхойлно ,буцаана
ReadOnly Баганын утгуудыг засаж болох эсэхийг тодорхойлно.
SortMode Баганын эрэмбэлэх горимыг тодорхойлно ,буцаана.
ValueType Баганын нүднүүдийн авах утгын төрлийг буцаана.
41
DATAGRIDVIEW КОНТРОЛ
DataGridViewColumn классын чухал гишүүд
dataGridView1.Columns[0].Frozen=true;
//хөдөлгөөнгүй багана
dataGridView1.Columns[2].ReadOnly=true;
//зөвхөн уншигдах багана
dataGridView1.Columns[0].MinimumWidth=100;
//өргөний хязгаарлалт
dataGridView1.Columns[0].SortMode=DataGridViewColumnSortMode.NotSortable;
//эрэмбэлэлт42
DATAGRIDVIEW КОНТРОЛ
DataGridViewRow классын чухал гишүүд
43
Шинжүүд Тайлбар
Cells Мөрөн дэх нүднүүдийн олонлог буцаана.
IsNewRow Тухайн мөр нь шинэ бичлэгт зориулсан мөр мөн эсэхийг
буцаана.
Selected Тухайн мөр сонгогдсон эсэхийг тодорхойлно, буцаана
Height Мөрийн өндрийг тодорхойлно, буцаана
DATAGRIDVIEW КОНТРОЛ
DataGridViewCell классын чухал гишүүд
Шинжүүд Тайлбар
ColumnIndex Тухайн нүдний байрлах баганын индексийг буцаана
RowIndex Тухайн нүдний байрлах мөрийн индексийг буцаана
Value Тухайн нүдний утгыг буцаана
OwningColumn Тухайн нүдийг агуулж байгаа баганыг буцаана
OwningRow Тухайн нүдийг агуулж байгаа мөрийг буцаана.
44
DATAGRIDVIEW КОНТРОЛ
Өгөгдлийг хүснэгт хэлбэрийн контролд холбох
• Хүснэгт хэлбэрийн контрол буюу DataGridView
контролд өгөгдөл холбохдоо дараах
пропертуудыг ашиглана.
DataSource – өгөгдлийн эх үүсвэрийг
тодорхойлно.
DataMember – өгөгдлийн эх үүсвэр дэх
хүснэгтийн нэрийг тодорхойлно.
DataPropertyName – багананд холбох
өгөгдлийн үүсвэрийг тодорхойлно.
45
НИЙЛМЭЛ ХОЛБОЛТ
Багш: Магситр Т.Гантөр
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
НИЙЛМЭЛ ХОЛБОЛТ
Өгөгдлийг хүснэгт хэлбэрийн контролд холбох
Багш: Магситр Т.Гантөр
Мастер- дагуул DataGridView
• DataGridView контролын Rows олонлогийг
ашиглан мөрөнд хандана. Харин сонгогдсон
мөрүүдэд хандах бол SelectedRows олонлогийг
ашиглана.
47
НИЙЛМЭЛ ХОЛБОЛТ
Багш: Магситр Т.Гантөр
• BindingSource компонент нь контролыг үндсэн
өгөгдлийн эх үүсвэртэй холбох үйл ажиллагааг
хялбарчлах зорилгоор бүтээгдсэн.
• BindingSource компонент нь контрол болон
өгөгдлийн эх үүсвэрийн хооронд хоѐр чиглэлд
өгөгдөл дамжуулах үүргийг гүйцэтгэнэ. Өөрөөр
хэлбэл командуудаах дамжуулан форм дээрх
өгөгдлүүдийг өгөгдлийн үндсэн жагсаалтруу
илгээх боломжийг олгодог.
48Багш: Магситр Т.Гантөр
49Багш: Магситр Т.Гантөр
Өгөгдлийн эх үүсвэрийг тодорхойлох
• BindingSource контролд өгөгдлийн эх
үүсвэрийг тодорхойлохдоо DataSource
шинжийг нь ашиглана.
• Харин контролуудын хувьд өгөгдлийн эх
үүсвэр тодорхойлох шинжид BindingSource
контролыг холбож өгнө.
50Багш: Магситр Т.Гантөр
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
Өгөгдлийн эх үүсвэрийг тодорхойлох
Багш: Магситр Т.Гантөр
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
Өгөгдлийн эх үүсвэрийг тодорхойлох
Багш: Магситр Т.Гантөр
Өгөгдлийг боловсруулах
BindingSource контрол нь завсарын эх үүсвэр
дэхь өгөгдөлрүү хандах, боловсруулах
боломжоор хангах гишүүдтэй байдаг.
53
Гишүүд Тайлбар
List Контролтой холбогдсон жагсаалтыг буцаана.
Position Идэвхитэй элемэнтийг байрлалыг тодорхойлно, буцаана
Current Өгөгдлийн эх үүсвэрийн идэвхитэй элемэнтийг буцаана
Sort Өгөгдлийг эрэмбэлэх талбарын нэр, эрэмбийн чиглэлийг
тодорхойлно, буцаана.
Filter Харуулах өгөгдлийг шүүхэд ашиглах илэрхийллийг
тодорхойлно, буцаана.
Багш: Магситр Т.Гантөр
Гишүүд Тайлбар
MoveFirst() Жагсаалтын эхний элемэнтийг идэвхижүүлнэ
MoveLast() Жагсаалтын сүүлийн элемэнтийг идэвхижүүлнэ
MovePrevious() Жагсаалтын өмнөх элемэнтийг идэвхижүүлнэ
MoveNext() Жагсаалтын дараагийн элемэнтийг идэвхижүүлнэ
RemoveCurrent() Жагсаалтаас идэвхитэй элемэнтийг устгана
AddNew() Жагсаалтад шинэ элемэнт нэмнэ
EndEdit() Завсрын эх үүсвэрт хийгдсэн өөрчлөлтийг
хэрэгжүүлнэ.
CancelEdit() Засврын эх үүсвэрт хийгдсэн өөрчлөлтийг цуцлана.
54
Өгөгдлийг боловсруулах
Багш: Магситр Т.Гантөр
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
Өгөгдлийг боловсруулах
• BindingNavigator контрол нь форм дээрх
өгөгдөлтэй холбогдсон контролуудыг
хэрэглэнчийн интерфейсээр удирдах
боломжийг олгоно. Ө.х BindingSource
компненттой уялдаж ажиллан , форм
дээрх өгөгдлийг боловсруулах, удирдах
боломжийг хэрэглэгчид олгодог контрол
юм.
57Багш: Магситр Т.Гантөр
• BindingNavigator контрол нь өгөгдөл нэмэх, өгөгдөл устгах, өгөгдлийг удирдах гэх мэт өгөгдөлтэй ажиллах ихэнх стандарт үйлдлүүдэд зориулагдсан ToolStripItemобъектуудын нэгдэл болсон хэрэгслийн мөр байдлаар зохион байгуулагдсан байдаг.
• BindingNavigator контролд өгөгдлийн эх үүсвэрийг нь BindingSource компонентоор тодорхойлно.
58Багш: Магситр Т.Гантөр
59Багш: Магситр Т.Гантөр
Хэрэглэгчийн контрол BindingNavigator-
ын гишүүд
BindingSource-ын
гишүүд
Эхний элемэнтрүү шилжүүлэх MoveFirstItem MoveFirst
Өмнөх элемэнтрүү шилжүүлэх MovePreviousItem MovePrevious
Идэвхитэй элемэнтийн байрлал PositionItem Current
Элемэнтийн тоо CountItem Count
Дараагийн элемэнтрүү
шилжүүлэх
MoveNextItem MoveNext
Сүүлчийн элемэнтрүү шилжүүлэх MoveLastItem MoveLast
Шинээр элемэнт нэмэх AddNewItem AddNew
Идэвхитэй элемэнтийг устгах DeleteItem RemoveCurrent60
61Багш: Магситр Т.Гантөр
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Багш: Магситр Т.Гантөр
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Багш: Магситр Т.Гантөр