6.3.1. მართვის ელემენტი DataGrid მონიშნეთ მართვის ელემენტი DataGrid. თითი დააჭირეთ თაგუნას მარჯვენა ღილაკს და გამოსულ კონტექსტურ მენიუში მონიშნეთ სტრიქონი Show Smart tag. გამოვა მენიუ DataGridTasks/სურ. 6.29/. |
სურ. 6.29. DataGridTasks მონაცემების ბაზასთან დაკავშირება · სურ. 6.30-ზე ველში Choose Data Source ჩამოშლილ მენიუში მონიშნეთ სტრიქონი ე.წ. Data source/სურ. 6.31/ |
სურ.
6.30.
მონაცემების
წყაროს
შესარჩევად
ბრძანების
მიცემა · გამოვა ფანჯარა, რომელშიც მონიშნეთ იარლიყი Access Database და დააჭირეთ ღილაკს OK/სურ. 6.31/: |
სურ. 6.31. მონაცემების წყაროს არჩევა. მონიშნულია Access · გამოვა ფანჯარა. დააჭირეთ ღილკას Browse. გამოვა ფანჯარა Select Microskft AccessdataBase. მონიშნეთ ამ ფანჯარაში ბაზის სახელი და დააჭირეთ ღილაკს OK. დაბრუნდებით წინა ფანჯარაში Choose a Database, რომელშიც დააჭირეთ ღილაკს Next. გამოვა ფანჯარა SQL-ის ინსტრუქციის ფორმირებისთვის/სურ. 6.32/. |
სურ. 6.32. დიალოგური ფანჯარა SQL-ის ინსტრუქციის ფორმირებისთვის დიალოგური ფანჯრის Configurate Data Source ველში Name ჩამოწერილია მონაცემების ბაზაში არსებული ცხრილების და შეკითხვების დასახელებები. ცხრილის დასახელების შერჩევის შემდეგ ველში Column ჩამოწერილია ცხრილის სვეტების (ველების) დასახელებები. დავუშვათ, შეარჩიეთ ცხრილი tbstudentiz, მაშინ Columns ჩამოიწერება ამ ცხრილის სვეტების დასახელებები. მონიშნეთ სვეტების დასახელებები, რომელთა გამოტანაც გვსურთ მართვის ელემენტზე DataGrid. მონიშვნის თანმიმდევრობა განაპირობებს Select ინსტრუქციაში ველების თანმიმდევრობას. ამავე დროს ავტომატურად იწერება SQL ინსტრუქციის ნაწილი FROM/სურ. 6.33/. |
სურ. 6.33. ფორმირებული SQL ინსტრუქცია SELECT და FROM განყოფილებებით
SQL ინსტრუქციის ნაწილის Where ფორმირება დიალოგურ ფანჯარაში Configurate Data Source დააჭირეთ ღილაკს WHERE. გამოვა ფანჯარა WHERE-ს ფორმირებისთვის/სურ. 6.34/. |
სურ. 6.34. დიალოგური ფანჯარა შQL ინსტრუქციის WHERE ფორმირებისთვის · ამორჩეული სტრიქონი Control მიუთითებს, რომ ამორჩევის პარამეტრის მნიშვნელობა ჩაწერილი იქნება მომხარებლის მიერ TextBox-ში ან სხვა ანალოგიურ მართვის ელემენტში. ველში Parameter properties Control_ID მიუთითეთ ჩვენ მიერ დაპროექტებული TextBox-ის სახელი. ამ ოპერაციების შესრულების შემდეგ დააჭირეთ ღილაკს Add. ღილაკზე დაჭერის შემდეგ ველში SQL Expression სისტემის მიერ ჩაიწერება ინსტრუქციის ფორმირებული ნაწილი. დააჭირეთ ღილაკს OK /სურ.35/. · შეარჩიეთ მონაცემების ბაზიდან მონაცემების ამორჩევის პარამეტრები. ჩვენ გვსურს TextBox-ში გვარის (ან გვარის ნაწილის) ჩაწერა და CommandButton ღილაკზე დაწკაპუნების შემდეგ მონაცემების ბაზიდან ამოირჩევა ყველა იმ სტუდენტის გვარი, რომელიც იწყება TextBox-ში ჩვენ მიერ ჩაწერილი ასოებით (მაგ., „ლო”). მონაცემების ბაზიდან მონაცემების ამორჩევის შემდეგ პარამეტრების დასაპროექტებლად და შესაბამისად SQL ინსტრუქციის WHERE-ს ნაწილის ავტომატურად დასაპროექტებლად: ველში Column სიიდან ამოარჩიეთ „გვარი”, ველში Operation სიიდან ამოარჩიეთ LIKE, ხოლო ველში Source სიიდან – Control. |
სურ.
6.35.
SQL
ინსტრუქციის
ფორმირებული
WHERE
ნაწილი OK ღილაკზე დაჭერის შემდეგ დაბრუნდებით ფანჯარაში, რომელშიც ORDER BY ღილაკზე დაჭერით ანალოგიურად მიუთითეთ, რომელი ველით გსურთ დახარისხება. ჩვენ შევარჩიეთ გვარი. საბოლოოდ SQL ინსტრუქცია მიიღებს სახეს /სურ. 6.36/. |
სურ. 6.36. დაპროექტების შემდეგ მიღებული SQL ინსტრუქცია თუ გსურთ თქვენ მიერ დაპროექტებული SQL ინსტრუქციის ტესტირება, მაშინ დიალოგურ ფანჯარაში Configurate Data Source დააჭირეთ ღილაკს Next. გამოვა ფანჯარა, რომელშიც დააჭირეთ ღილაკს test Query. ამ ღილაკზე დაჭერის შემდეგ გამოვა ფანჯარა, რომლის ველში Value ჩაწერეთ საძებნი მნიშვნელობა. ჩვენ ჩავწერეთ "ლო” /სურ. 6.37/ |
სურ. 6.37. SQL ინსტრუქციის ტესტირება ამ ფანჯრით მოწმდება ჩვენ მიერ ფორმულირებული SQL ინსტრუქციით მიღებული შედეგი. ფანჯარაში Parameter Values Editor OKღილაკზე დაჭერის შემდეგ დავბრუნდებით ფანჯარაში, რომელშიც მოცემულია ძებნის შედეგი/სურ. 6.38/. |
სურ. 6.38. SQL ინსტრუქციის ტესტირების შედეგი ფანჯარაში Configu Data Source-AccessdataSource1 დააჭირეთ ღილაკს Finish. მართვის ელემენტზე გამოტანილი ცხრილის გაფორმება ცხრილის გაფორმება ხორციელდება დიალოგური ფანჯრით DataGrid Properties-ის/სურ.6.39/ საშუალებით. 1. ცხრილის სათაურის დაწერა თუ გვსურს, რომ ცხრილის სათაურის დასახელებები განსხვავდებოდნენ ბაზაში არსებული ცხრილის სვეტების დასახელებებისგან, DataGrid-ის თვისებას AutoGenerateColumns მიანიჭეთ მნიშვნელობა False. |
სურ. 6.39. დიალოგური ფანჯარა DataGrid Properties დიალოგურ ფანჯარაში DataGrid Properties მონიშნეთ იარლიყი Column. ველში Avialabe column მონიშნეთ სტრიქონი Bound Column და დააჭირეთ ღილაკს è. ველში Header text დაწერეთ სვეტის სათაურის დასახელება, რომელიც უნდა გამოჩნდეს მართვის ელემენტზე. ველში Data Field დაწერეთ ამ სვეტის სახელი ბაზაში არსებული ცხრილის მიხედვით. თუ გსურთ, რომ DataGrid-ში გამოჩენილი მონაცემების მხოლოდ წაკითხვა იყოს ნებადართული, მაშინ მონიშნეთ ნიშნაკი Read only /სურ. 6.40/. |
სურ. 6.40. DataGrid-ში ცხრილის სათაურის დაპროექტება
ცხრილისთვის ფორმატიზაციის ატრიბუტების დაყენება. დიალოგურ ფანჯარაში DataGrid Properties მონიშნეთ სტრიქონი Format. გამოვა ფანჯარა, რომელშიც შეგიძლიათ შეარჩიოთ სათაურისთვის, ცალკეული სვეტისთვის და ა.შ. შრიფტი, შრიფტის სტილი, ზომა, ფონი, შრიფტის ფერი და სხვა/სურ. 6.41/. |
სურ. 6.41. დიალოგური ფანჯარა ცხრილისთვის ფორმატიზაციის ატრიბუტების მისაცემად DataGrid-ში DataGrid-ის შევსება მონაცემების ბაზიდან ამორჩეული მონაცემებით განვიხილოთ მართვის ელემენტის DataGrid-ის მონაცემების ბაზიდან მონაცემებით შევსების ვარიანტი: · მონაცემების ბაზასთან დაკავშირება; · ადაპტერის აგება (OleDbdataAdapter-ის ან SqlDataAdapter-ის კლასის ეგზემპლარი); · ადაპტერის გამოყენებით DataSet-ის კლასის ეგზემპლარის შექმნა; · მართვის ელემენტი DataGrid თვისებით დაკავშირებულ იქნეს საჭირო ცხრილთან. დასმული ამოცანის რეალიზაციის პროგრამული კოდი შემდეგია:
Private Sub Page_Load(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MyBase.Load If Not IsPostBack Then Dim ds As DataSet = New DataSet() Dim conn As String = "Provider=Microsoft.Jet.OLEDB.4.0;data source=" _ & Server.MapPath("ekonfakulteti.mdb") Dim da As OleDbDataAdapter = New OleDbDataAdapter("SELECT TOP 5 " _ & "gvari, saxeli FROM tbstudentiz", conn) da.Fill(ds) DataGrid1.DataSource = ds.Tables(0).DefaultView DataGrid1.DataBind() End If End Sub
გაანგარიშებების შესრულება DataGrid-ში მართვის ელემენტის დაპროექტებისას დავამატოთ ახალი სვეტი. პროგრამის შესრულების დროს მოვახდინოთ გაანგარიშება და შედეგი ჩავწეროთ ამ სვეტში. დავუშვათ, მონაცემების ბაზიდან ამოარჩიეთ საქონლის დასახელება, შეძენის ფასი. მართვის ელემენტის დაპროექტებისას დაამატეთ ახალი სვეტი და დაარქვით მას „რეალიზაციის ფასი”. დავუშვათ, საჭიროა შეძენის ფასი გაზარდოთ 15%-ით. იმისათვის, რომ ველების გენერაცია პროგრამული კოდით განხორციელდეს (და არა ავტომატურად ცხრილის ჩატვირთვისას), საჭიროა მართვის ელემენტის DataGrid თვისება AutoGenerateColumns=False
html კოდი შემდეგია <%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server">
<title>Untitled Page</title> </head> <body> <form id="form1" runat="server"> <div> <br /> <asp:DataGrid ID="DataGrid1" runat="server" CellPadding="4" ForeColor="#333333" GridLines="None" Style="font-family: AcadNusx" AutoGenerateColumns="False"> <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" /> <EditItemStyle BackColor="#2461BF" /> <SelectedItemStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" /> <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" /> <AlternatingItemStyle BackColor="White" /> <ItemStyle BackColor="#EFF3FB" /> <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" /> <Columns> <asp:BoundColumn DataField="das" HeaderText="dasaxeleba"></asp:BoundColumn> <asp:BoundColumn DataField="sfasi" HeaderText="SeZenis fasi"></asp:BoundColumn> <asp:BoundColumn DataField="rfasi" HeaderText="realizaciis fasi"></asp:BoundColumn> </Columns> </asp:DataGrid> <br /> <br /> </div> </form> </body> </html>
პროგრამული კოდი შემდეგია:
Private Sub Page_Load(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MyBase.Load If Not IsPostBack Then Dim ds As DataSet = New DataSet() Dim conn As String = "Provider=Microsoft.Jet.OLEDB.4.0;data source=" _ & Server.MapPath("ekonfakulteti.mdb") Dim da As OleDbDataAdapter = New _ OleDbDataAdapter("SELECT das, sfasi FROM tbsaqoneli", conn) da.Fill(ds) Dim dc As DataColumn dc = New DataColumn("rfasi", Type.GetType("System.Single")) dc.Expression = "sfasi * 1.15" ds.Tables(0).Columns.Add(dc) DataGrid1.DataSource = ds.Tables(0).DefaultView DataGrid1.DataBind() End If
End Sub
დახარისხება DataGrid-ში ჩვენი ამოცანაა მართვის ელემენტში DataGrid არსებული ცხრილის სვეტის დასახელებაზე დაწკაპუნებით განხორციელდეს მონაცემების დახარისხება. ამ ამოცანის გადასაწყვეტად: · მართვის ელემენტის დაპროექტებისას მიუთითეთ სვეტები, რომლებითაც შესაძლებელია დახარისხება; · შექმენით პროცედურა, რომელიც უზრუნველყოფს გვერდის ჩატვირთვისას მონაცემების ბაზასთან დაკავშირებას. ამავე დროს მოწმდება ამ გვერდის არსებობა PostBack-ზე და მისი არსებობის შემთხვევაში გამოიძახება ჩვენ მიერ შექმნილი პროცედურა BindData; · შექმენით პროცედურა, რომელიც დაკავშირებულია DataGrid-ში მოვლენასთან OnSortCommand არგუმენტთან. წინასწარ მითითებულ ველებში დახარისხება ზრდადობით ან კლებადობით დავიტანოთ DataGrid მართვის ელემენტი გვერდზე. სისტემის მიერ ავტომატურად გენერირებული html კოდი შემდეგია: <%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server">
<title>Untitled Page</title> </head> <body> <form id="form1" runat="server"> <div> <br /> <asp:DataGrid ID="DataGrid1" runat="server" AllowSorting="True" AutoGenerateColumns="False" Font-Names="AcadNusx"> <Columns> <asp:TemplateColumn HeaderText="gvari" SortExpression="gvari"> <ItemTemplate> <asp:Label runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.gvari") %>'></asp:Label> </ItemTemplate> </asp:TemplateColumn> <asp:TemplateColumn HeaderText="saxeli" SortExpression="saxeli desc"> ‘ velisTvis “saxeli” miTiTebulia, rom daxarisxeba ganxorcieldes klebadobiT <ItemTemplate> <asp:Label runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.saxeli") %>'></asp:Label> </ItemTemplate> </asp:TemplateColumn> </Columns> </asp:DataGrid> <br /> </div> </form> </body> </html> დახარისხების განსახორციელებლად საჭიროა: 1. მონაცემების ბაზასთან დაკავშირება; 2. მართვის ელემენტის შევსება მონაცემებით; 3. ცხრილში სვეტების დასახელებაზე დაწკაპუნებისას დახარისხება. · მონაცემების წყაროსთან დაკავშირება Private Sub binddata() Dim ds As DataSet = New DataSet()’obieqtTa klasis DataSet-ის ეგზემპლარის შექმნა Dim conn As String = "Provider=Microsoft.Jet.OLEDB.4.0;data source=" _ & Server.MapPath("ekonfakulteti.mdb")’ მონაცემების ბაზასთან დაკავშირება Dim da As OleDbDataAdapter = New OleDbDataAdapter("SELECT gvari, saxeli FROM tbstudentiz", conn) ’ OleDbDataAdapter-ის დაკავშირება მონაცემების ბაზასთან და Fill(ds) OleDbDataAdapter-ის მონაცემებით შევსება ობიექტიდან DataSet ds.Tables(0).DefaultView.Sort = ViewState("sort") DataGrid1.DataSource = ds.Tables(0).DefaultView DataGrid1.DataBind()’ ცხრილის შევსება მონაცემებით End Sub · გვერდის ჩატვირთვისთანავე მართვის ელემენტის შევსება მონაცემებით Private Sub Page_Load(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MyBase.Load If Not IsPostBack Then binddata() End If End Sub · დახარისხება Protected Sub DataGrid1_SortCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridSortCommandEventArgs) Handles DataGrid1.SortCommand
Me.ViewState("sort") = e.SortExpression binddata() End Sub მართვის ელემენტში დახარისხების განხორციელება პროგრამულად ზრდადობით და კლებადობით წინა მაგალითისგან განსხვავებით, მითითებულ ველებში მართვის ელემენტის ცხრილზე დაწკაპუნებისას მონაცემების დახარისხება ხორციელდება ზრდადობით ან კლებადობით. html კოდი შემდეგია <%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>Untitled Page</title> </head> <body> <form id="form1" runat="server"> <div> <br /> <asp:DataGrid ID="DataGrid1" runat="server" AllowSorting="True" AutoGenerateColumns="False" Font-Names="AcadNusx"> <Columns> <asp:TemplateColumn HeaderText="gvari" SortExpression="gvari"> <ItemTemplate> <asp:Label runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.gvari") %>'></asp:Label> </ItemTemplate> </asp:TemplateColumn> <asp:TemplateColumn HeaderText="saxeli" SortExpression="saxeli"> <ItemTemplate> <asp:Label runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.saxeli") %>'></asp:Label> </ItemTemplate> </asp:TemplateColumn> </Columns> </asp:DataGrid> <br /> </div> </form> </body> </html> პროგრამული კოდი შემდეგია: · მონაცემების წყაროსთან დაკავშირება ხორციელდება წინა მაგალითში მოტანილი პროგრამით binddata; · გვერდის ჩატვირთვისთანავე მართვის ელემენტის შევსება მონაცემებით ხორციელდება წინა მაგალითში მოტანილი პროგრამით; · დახარისხება ხორციელდება პროგრამით: Protected Sub DataGrid1_SortCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridSortCommandEventArgs) Handles DataGrid1.SortCommand
Me.ViewState("sort") = e.SortExpression
If Me.DataGrid1.Columns(0).SortExpression = e.SortExpression _ Or Me.DataGrid1.Columns(1).SortExpression = e.SortExpression Then If e.SortExpression.IndexOf("desc") <> -1 Then Me.DataGrid1.Columns(0).SortExpression = Me.DataGrid1.Columns(0).SortExpression.Replace(" desc", "") ‘ aq desc-is win unda iyos ori intervalis niSani
Me.DataGrid1.Columns(1).SortExpression = Me.DataGrid1.Columns(1).SortExpression.Replace(" desc", "") 'აქაც desc-ის წინ უნდა იყოს ორი ინტერვალის ნიშანი
Else Me.DataGrid1.Columns(0).SortExpression += " desc" ‘'saWiroa iyos ori intervalis niSani Me.DataGrid1.Columns(1).SortExpression += " desc" ' საჭიროა იყოს ორი ინტერვალის ნიშანი End If End If binddata() End Sub
მონაცემების ბაზაში ცვლილებების განხორციელება მართვის ელემენტის DataGrid-ის საშუალებით მართვის ელემენტში DataGrid ჩაშენებულია მონაცემების ბაზაში ცვლილებების ჩატარების შესაძლებლობა. მაგ., მეხუთე სტრიქონის რედაქტირებისთვის საჭიროა მართვის ელემენტის DataGrid თვისებას EditItemIndex მივანიჭოთ მნიშვნელობა 4 (სტიქონების ნომერაცია იწყება ნულიდან). რედაქტირების რეჟიმიდან გამოსასვლელად საჭიროა თვისებას EditItemIndex მიანიჭოთ მნიშვნელობა -1. ყველაზე რთული მომენტია მონაცემების ბაზიდან მონაცემების მოძებნა და ცვლილების შეტანის შემდეგ მათი ბაზაში ჩაწერა. რედაქტირების, რედაქტირების გაუქმების და რედაქტირებული მნიშვნელობის შენახვისთვის (EditCommand, CancelCommand, UpdateCommand) DataGrid-Si გათვალისწინებულია სპეციალური ტიპის სვეტი ButtonColumn. 1. გვერდზე დაიტანეთ მართვის ელემენტი DataGrid; 2. ვიზუალური დაპროექტების რეჟიმში მართვის ელემენტზე დაიტანეთ სპეციალური ტიპის სვეტი ButtonColumn; 3. ButtonColumn-ის სტრიქონებში ჩაწერეთ: რედაქტირება, შენახვა, გაუქმება. HTML კოდში მათ შეესაბამება: EditText=„რედაქტირებa”; UpdateText=„შენახვა” CancelText=„გაუქმება” html კოდი შემდეგია: <%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>Untitled Page</title> </head> <body> <form id="form1" runat="server"> <div> <br /> <asp:DataGrid ID="DataGrid1" runat="server" AutoGenerateColumns="False"> <Columns> <asp:EditCommandColumn CancelText="gauqmeba" EditText="redaqtireba" UpdateText="Senaxva"> </asp:EditCommandColumn> <asp:BoundColumn DataField="nomeri" HeaderText="nomeri"></asp:BoundColumn> <asp:BoundColumn DataField="gvari" HeaderText="gvari"></asp:BoundColumn> <asp:BoundColumn DataField="saxeli" HeaderText="saxeli"></asp:BoundColumn> </Columns> </asp:DataGrid> <br /> </div> </form> </body> </html> მონაცემების ბაზიდან მონაცემების მოსაძებნად და მართვის ელემენტში გამოსატანად გამოვიყენოთ (დავწეროთ) მეთოდი (პროგრამა) binddata1.
Private Sub binddata1() ' redaqtirebisTvis Dim ds As DataSet = New DataSet() Dim conn As String = "Provider=Microsoft.Jet.OLEDB.4.0;data source=" _ & Server.MapPath("ekonfakulteti.mdb") Dim da As OleDbDataAdapter = New OleDbDataAdapter("SELECT nomeri, gvari, saxeli FROM tbstudentiz", conn) da.Fill(ds) DataGrid1.DataSource = ds.Tables(0).DefaultView DataGrid1.DataKeyField = "nomeri" DataGrid1.DataBind() End Sub მონაცემების რედაქტირების და რედაქტირების გაუქმების დამმუშავებელი დაკავშირებულია შესაბამისად მოვლენებთან EditCommand, CancelCommand. აქ ხორციელდება თვისებისთვის EditItemIndex მნიშვნელობის მინიჭება.
Protected Sub DataGrid1_EditCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles DataGrid1.EditCommand DataGrid1.EditItemIndex = e.Item.ItemIndex binddata() End Sub
Protected Sub DataGrid1_CancelCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles DataGrid1.CancelCommand DataGrid1.EditItemIndex = -1 binddata() End Sub BoundColumn-ში მონაცემების დაკავშირების დროს გენერირებული ცხრილის ყველა უჯრაში ისმება ლიტერალი LiteralControl მონაცემებით მონაცემების ბაზის შესაბამისი ველიდან ან მხოლოდ რედაქტირებული სტრიქონები. მართვის ელემენტში DataGrid მონაცემების წაშლა თუ DataGrid დაკავშირებულია მართვის ელემენტთან, მაშინ საჭიროა თვისებას RecordSource მიანიჭოთ "" (ცარიელი სტრიქონი) და შემდეგ გამოიყენოთ მეთოდი Refresh. Sub Command1_Click() Data1.RecordSource = "" 'устанавливаем RecordSource в нулевую строку Data1.Refresh SSDataGrid1.Refresh End Sub თუ DataGrid დაკავშირებული არ არის მართვის ელემენტთან, მაშინ თვისებისთვის Rows ნულის მინიჭება წაშლის მონაცემებს DataGrid-ში.
მართვის ელემენტში DataGrid-ის უჯრებისთვის ფერის და შრიფტის შეცვლა ფერის და შრიფტის შეცვლა შესაძლებელია თვისებების (RowCellForeColor, RowCellBackColor, RowCellItalic) მნიშვნელობების შეცვლით. დავაკავშიროთ ცვლილებები ფორმის მოვლენასთან RowLoaded, რომელიც წამოიქმნება ფორმის პირველად ჩატვირთვის დროს. შემდეგ მაგალითში ნულოვანი სვეტი იქნება წითელი ფერის, შრიფტი კი – დახრილი და თეთრი ფერის: Sub DataGrid1_RowLoaded (BookMark As String, _ RowNum As Long) SSDataGrid1.RowCellForeColor(0) = _ RGB(255,255,255) SSDataGrid1.RowCellBackColor(0) = RGB(255,0,0) ‘'striqonis feri gaxdeba wiTeli SSDataGrid1.RowCellItalics(0) = True ‘'შრიფტი გახდება დახრილი End Sub შეიძლება თვისებაში EvalRowNumber მივუთითოთ სტრიქონების რაოდენობა და შემდეგ შევცვალოთ ფერის, შრიფტის პარამეტრები. Sub Command1_Click() SDataGrid1.EvalRowNumber = 10 'სტრიქონების რაოდენობის მითითება SSDataGrid1.RowCellForeColor(2) = RGB(255,255,255) 'მეორე სვეტში შრიფტი დაიწერება თეთრ ფერად SSDataGrid1.RowCellBackColor(2) = RGB(255,0,0) 'მეორე სვეტის ფონი წითელი გახდება SSDataGrid1.RowCellItalics(2) = True 'მეორე სვეტში ტექსტი დაიწერება დახრილად End Sub |