Tablice, DataGridView

Podobne dokumenty
DataGridView. Aby dodawać kolumny wybieramy z listy zadań Add Column..., co wywoła okno dodawania kolumn, rys. 2. Rysunek 1

01 grid tablica grid. Copyright 2017, mgr inż. Janusz Bonarowski 1

Ćwiczenie VB3.4 Struktura Try...Catch, obiekt Err, metoda Err.Raise (Strukturalna obsługa wyjątków)

Zadanie. Menu Plik niech posiada dwie pozycje: Tekstowy i Excel, a każda z nich niech posiada dwie pozycje Otwórz i Zapisz, patrz rys. 2.

Podstawy programowania. Ćwiczenie. Pojęcia bazowe. Języki programowania. Środowisko programowania Visual Studio

Tablice. Jones Stygar na tropie zmiennych

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)

TABLICA (ang. array) pojedyncza zmienna z wieloma komórkami, w których można zapamiętać wiele wartości tego samego typu danych.

Platforma.NET laboratorium 4 Aktualizacja: 15/11/2013. Visual Basic.NET dostęp do bazy danych. Baza Microsoft SQL Server Compact

Tworzenie zespołu. Ustalenie aktualnego projektu. Laboratorium Technik Komputerowych I, Inventor, ćw. 4

Aplikacje geodezyjne

Visual Basic: Tablice, sortowanie, r. ak. 2014/2015

Politechnika Poznańska Wydział Budowy Maszyn i Zarządzania

Połączenie AutoCad'a z bazą danych

Praca z bazą danych. Rysunek 1. Projekt tabeli UZYTKOWNIK bazy KURSY

Klasa bazowa i klasy potomne - doskonalenie umiejtnoci projektowania i wykorzystania klas (45 min)

2. Kliknij Insert->Userform. Jeżeli Toolbox nie pojawi się automatycznie, kliknij View -> Toolbox. Otrzymany widok powinien być jak poniżej.

Programowanie obiektowe

Aplikacja MDI. Rysunek 1. Tworzenie nowego projektu

Niezwykłe tablice Poznane typy danych pozwalają przechowywać pojedyncze liczby. Dzięki tablicom zgromadzimy wiele wartości w jednym miejscu.

LibreOffice Calc VBA

Platforma.NET laboratorium 1. Visual Basic.NET podstawowe elementy języka. Wykonanie warunkowe If End If

Ten odcinek Akademii PC Kuriera poświęcony zostanie tworzeniu i wykorzystaniu funkcji i procedur w języku Visual Basic.NET.

Instrukcje cykliczne (pętle) WHILE...END WHILE

Ćwiczenie laboratoryjne. Oprogramowanie i badanie stosu lub kolejki w środowisku Visual Basic 2005

Materiały do laboratorium MS ACCESS BASIC

Wymiar musi być wyrażeniem stałym typu całkowitego, tzn. takim, które może obliczyć kompilator. Przykłady:

2. W oknie dialogowym Choose Toolbox Items w zakładce.net Framework Components naciskamy przycisk Browse...

WyŜsza Szkoła Zarządzania Ochroną Pracy MS EXCEL CZ.2

Utworzenie interfejsu graficznego za pomocą formularza użytkownika w VBA

Visual Basic Debugging and Error Handling

Arkusz kalkulacyjny. Technologia Informacyjna Lekcja 38-39

3 Delegacje. 3.1 Tworzenie delegacji. 3.2 Skojarzenie delegacji z procedurą czy funkcją

Tworzenie dokumentacji 2D

Tworzenie i modyfikowanie wykresów

Baltie 3. Podręcznik do nauki programowania dla klas I III gimnazjum. Tadeusz Sołtys, Bohumír Soukup

Typoszeregi - SolidWorks <- Excel

INSTRUKCJA SKOKU GOTO

1 Podstawy c++ w pigułce.

Rozdzia l 3. Laboratorium 3. danych zawierajac

Class1.vb. _Dlugosc_stopnia = value End Set End Property Public Property Faza As Single Get Return _Faza End Get

Arkusze kalkulacyjne i VBA

Zalogowanie generuje nowe menu: okno do wysyłania plików oraz dodatkowe menu Pomoc

Podstawy informatyki

Dodawanie grafiki i obiektów

5.4. Tworzymy formularze

I Tworzenie prezentacji za pomocą szablonu w programie Power-Point. 1. Wybieramy z górnego menu polecenie Nowy a następnie Utwórz z szablonu

Budowa aplikacji z graficznym interfejsem użytkownika - GUI (Graphic User Interface)

Komunikator internetowy w C#

Formularz MS Word. 1. Projektowanie formularza. 2. Formularze do wypełniania w programie Word

Wyciągnięcie po ścieŝce, dodawanie Płaszczyzn

Zmienne i struktury dynamiczne

Zadanie 11. Przygotowanie publikacji do wydrukowania

Podstawy Programowania 2

1. Przypisy, indeks i spisy.

Modelowanie obiektowe - Ćw. 1.

MsgBox(Komunikat [, Przyciski] [, Tytuł] [, PlikHelp, HelpContext])

Wykład 03 JavaScript. Michał Drabik

ASP.NET MVC. Podstawy. Zaawansowane programowanie internetowe Instrukcja nr 3

Zapytania i wstawianie etykiet z bazy danych do rysunku

Tworzenie buforów w ArcView

KaŜdy z formularzy naleŝy podpiąć do usługi. Nazwa usługi moŝe pokrywać się z nazwą formularza, nie jest to jednak konieczne.

śebro, Szyk liniowy, Lustro Zagadnienia. Tworzenie śeber, powielanie obiektów Szykiem liniowym, wykorzystanie konstrukcji Lustra.

Materiały pomocnicze do zajęć z przedmiotu Projekt ADP

VBA praca z makrami w Excelu: piszemy kod! Ulepszamy program! 0. Parę uwag o samym edytorze

Visual Basic for Applications. Formatki tworzenie,

Aplikacje w środowisku VBA. Visual Basic for Aplications

Tak przygotowane pliki należy umieścić w głównym folderze naszego programu. Klub IKS

Programowanie w języku Java

autor poradnika - KS Jak zamieszczać i edytować artykuły na szkolnej stronie internetowej

Przedmiot: Informatyka w inżynierii produkcji Forma: Laboratorium Temat: Zadanie 4. Instrukcja warunkowa.

Podstawy i języki programowania

1. Wstawianie macierzy

Trik 1 Edycja wykresu bezpośrednio w dokumencie Worda

Technologie informacyjne

Podstawy Programowania C++

Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości

Projekt ZSWS. Instrukcja uŝytkowania narzędzia SAP Business Explorer Analyzer. 1 Uruchamianie programu i raportu. Tytuł: Strona: 1 z 31

Komponent Formularz. Rys. 1. Strona programu Joomla - Rys. 2. Instalacja komponentu

Programowanie 3 - Funkcje, pliki i klasy

Tworzenie zespołu. Laboratorium Technik Komputerowych I, Inventor, ćw. 4. Wstawianie komponentów i tworzenie wiązań między nimi.

Konfigurowanie konta pocztowego w programie Netscape (wersja 7.2)

Informatyka II. Laboratorium Aplikacja okienkowa

Laboratorium programowania urządzeń mobilnych

Zmienne powłoki. Wywołanie wartości następuje poprzez umieszczenie przed nazwą zmiennej znaku dolara ($ZMIENNA), np. ZMIENNA=wartosc.

M a k r a i d o d a t k o w e f o r m a n t y

MS Excell 2007 Kurs podstawowy Filtrowanie raportu tabeli przestawnej

Projekt Hurtownia, realizacja rejestracji dostaw produktów

Przeciąganie po profilach, Dodanie/baza przez wyciągnięcie po ścieŝce

Programowanie w VB Proste algorytmy sortowania

Delphi 7 + Indy 10 Przykłady prostych aplikacji sieciowych

Opis implementacji: Implementacja przedstawia Grę w życie jako przykład prostej symulacji opartej na automatach.

SolidWorks ćwiczenie 1

Podstawy programowania. Podstawy C# Tablice

Wprowadzenie do systemu Delphi

Writer wzory matematyczne

Politechnika Poznańska Wydział Budowy Maszyn i Zarządzania

Edytor tekstu MS Word 2010 PL. Edytor tekstu MS Word 2010 PL umożliwia wykonywanie działań matematycznych.

Arkusz kalkulacyjny MS Excel 2010 PL.

Tworzenie własnych komponentów

Transkrypt:

Tablice, DataGridView Gdy rośnie liczba danych do przechowywania w programie, a następnie ich obrobienia - pojawiają się nowe struktury danych (moŝna by powiedzieć pojemniki na dane) zwane tablicami. Tablica moŝe przechowywać wiele danych. Wszystkie one będą tego samego typu, będą miały tę samą nazwę (nazwę tablicy), a do poszczególnych danych zawartych w tablicy odwołujemy się za pomocą indeksów (kolejnych numerów tych danych w tablicy). Tablice mogą być jednowymiarowe (np. wektor), dwuwymiarowe (np. szachownica) i wielowymiarowe (np. prostopadłościan,...). Tworzenie tablicy Tworzenie tablicy to jej deklarowanie. Tablicę deklarujemy tak jak zmienną, musimy określić jej nazwę, liczbę wymiarów, rozmiary tych wymiarów, typ danych w tablicy. Pierwszy element tablicy ma zawsze index zero, 0. Przykłady: Dim studenci(14) As String deklaracja tablicy jednowymiarowej, przechowującej nazwiska UWAGA: 15 studentów. Odwołanie do pierwszego elementu tablicy to: studenci(0). Dim temperatury(11,30) deklaracja tablicy o 12 wierszach (od 0 do 11) i 31 kolumnach (od 0 do 30), np. do przechowywania max. temperatury kaŝdego dnia w roku. W wierszach będą numery miesięcy (styczeń 0, luty 1, marzec 2, itd.), a w kolumnach numery dni. Temperatura w dniu 1-go kwietnia to będzie komórka tabeli: temperatury(3, 0). o o o o Dim słowo kluczowe, nazwa tablicy - zasada ta sama jak przy tworzeniu nazwy zmiennej. liczba wymiarów wynika z liczby elementów w nawiasie oddzielonych przecinkami. nazwatablicy(9) jednowymiarowa, nazwatablicy(3, 5) dwuwymiarowa, nazwatablicy(3,10,18) trójwymiarowa. rozmiary tych wymiarów wartości liczb w nawiasie nazwatablicy(9) jednowymiarowa o 10 elementach numerowanych od 0 do 9, nazwatablicy(5, 4) dwuwymiarowa o 6 wierszach od 0 do 5 i 5 kolumnach takŝe od 0 do 4, rys.1. nazwatablicy(3,10,19) trójwymiarowa (jakby prostopadłościan) o 4 wierszach numerowanych od 0 do 3, 11 kolumnach numerowanych od 0 do 10 i 20 warstwach (poziomach) od 0 do 19. Przykład: Narysować tabelę Dane(5,4), w której komórki kaŝdej następnej kolumny zawierają wartości dwa razy większe od sąsiednich komórek w kolumnie poprzedniej, rys. 1. numery wierszy numery kolumn 0 1 2 3 4 0 1 2 4 8 16 1 2 4 8 16 32 2 3 6 12 24 48 3 4 8 16 32 64 4 5 10 20 40 80 5 6 12 24 48 96 Rysunek 1. Tabela Dane(5, 4), 6 wierszy i 5 kolumn; element Dane(3,2) przechowuje wartość 16 Copyright 2014, mgr inŝ. Janusz Bonarowski 1

Krótkie omówienie obiektu DataGridView Często potrzebujemy obiektu, który wyświetliłby tabelę zawierającą kilka kolumn i kilka wierszy. Dobrze do tego celu nadaje się obiekt DataGridView 1. Po przeniesieniu obiektu na formularz jest on pusty brak kolumn i wierszy - pojawi się jednak podręczna lista zadań (DataGridView Tasks), rys. 2, z której moŝemy wybrać potrzebne działania. Rysunek 2 Aby dodawać kolumny wybieramy z listy zadań Add Column..., co wywoła okno dodawania kolumn, rys. 3. Rysunek 3. Dodawanie kolumny Po kliknięciu przycisku dodana zostanie kolumna, rys. 4. Proszę zwrócić uwagę na wartość pozycji Type: DataGridViewTextBoxColumn (rys. 3), wybranie takiego typu komórek dla kolumny oznacza, Ŝe wszystkie komórki w dodanej kolumnie będą typu TextBox, rys.4. 1 Podstawowym zastosowaniem obiektu DataGridView jest wizualizacja zawartości baz danych, moŝna jednak takŝe wyświetlać zawartość zwykłych tablic, co pokazano w omawianej dalej aplikacji. Copyright 2014, mgr inŝ. Janusz Bonarowski 2

Rysunek 4. DataGridView po dodaniu kolumny z komórkami typu tekstowego MoŜemy dodawać kolumny typu, rys. 5: Przycisk DataGridViewButtonColumn Kratka wyboru DataGridViewCheckBoxColumn ListaRozwijalna DataGridViewComboBoxColumn Rysunek DataGridViewImageColumn Odsyłacz DataGridViewLinkColumn Okno tekstowe - DataGridViewTextBoxColumn Rysunek 5. Wybór typu kolumny Aby sprawdzić postać wiersza z komórkami róŝnego typu, moŝemy testowo zdefiniować 6 kolumn o typach: (Column1) TextBox, (Column2) CheckBox, (Column3) ComboBox, (Column4) Image, (Column5) Link, (Column6) Button. Copyright 2014, mgr inŝ. Janusz Bonarowski 3

W kaŝdej chwili moŝna zmienić wszystkie elementy w projektowanym obiekcie DataGridView. W tym celu naleŝy z listy zadań wybrać pozycję Edit Column, rys. 6 (pozycja1), co otworzy formularz edycji kolumn, rys. 6 (pozycja 2). Rysunek 6. Edycja właściwości i rozmieszczenia kolumn Narzędzia tego formularza pozwalają zmieniać połoŝenie kolumny w wierszu (pozycja 3), właściwości wskazanej kolumny (pozycja 4), dodawać i usuwać kolumny (pozycja 5). Aby opanować dostęp do komórek obiektu DataGridView wykonajmy następujące zadanie. Copyright 2014, mgr inŝ. Janusz Bonarowski 4

Zadanie Utworzyć obiekt DataGridView o trzech kolumnach typu TextBox i przyciski obsługujące procedury o następujących działaniach, patrz rys. 7: 1. Zapełnić Grid o 4 wierszach i 3 kolumnach kolejnymi liczbami całkowitymi. 2. Zapełnić Grid o 3 wierszach i 3 kolumnach liczbą 1 na przekątnej głównej. 3. Zapełnić Grid o 3 wierszach i trzech kolumnach liczbą 2 na drugiej przekątnej. 4. Usunąć wiersz z indeksem 0. 5. Usunąć wiersz z indeksem 1. 6. Usunąć wiersz wskazany myszą (kliknięty). Rysunek 7. Propozycja formularza Sposób odwołania się do pojedynczej komórki w celu pobrania/wstawienia wartości pokazuje rys. 8. Uwaga: NaleŜy podkreślić, Ŝe komórki (kolumny i wiersze) numerowane są od 0 i odwołujemy się do nich w kolejności najpierw kolumna potem wiersz: Item(kolumna, wiersz), a nie Tablica(wiersz, kolumna) jak w tablicach. Rysunek 8. Sposób zapełnienia komórek Copyright 2014, mgr inŝ. Janusz Bonarowski 5

Budowę aplikacji rozpoczniemy od umieszczenia na formularzu obiektu DataGridView1 i utworzenia w nim jednego wiersza o 3 kolumnach, patrz rys. 3 pozycja Add Column..., rys. 9, następnie dodamy 6 przycisków, jak na rys. 7, o przykładowych nazwach jak tablicy pod rysunkiem 9. Rysunek 9. Dodajemy wiersz o 3 kolumnach Name Text btn4x3_kolejne 4 wiersze x 3 kolumny, kolejne liczby btn3x3 przekatna_1 3 wiersze x 3 kolumny, 1 na przekątnej btn3x3_druga_przekatna_2 3 wiersze x 3 kolumny, 2 na drugiej przekątnej btnusun_wiersz_0 Usuń wiersz 0 btnusun_wiersz_1 Usuń wiersz 1 btnusunwskazanywiersz Usuń wskazany wiersz Skrócony opis metod i właściwości obiektu DataGridView zamieściłem w pliku vb6.01_gridview_skrot.pdf. PoniewaŜ znana jest liczba kolumn i wierszy (mamy je wskazane w poleceniu zadania na rys. 7), to do obsługiwania Gridu posłuŝymy się instrukcją For... Next, w której moŝemy określić ile razy cykl zostanie wykonany (w odróŝnieniu od instrukcji Do While...Loop, która moŝe być wykonywana "nie widomo ile razy"). Więcej informacji umieszczę w komentarzach, w kodzie. Copyright 2014, mgr inŝ. Janusz Bonarowski 6

Kody procedur Private Sub btn4x3_kolejne_click(byval sender As _ System.Object, ByVal e As System.EventArgs) _ Handles btn4x3_kolejne.click 'Zapełnianie siatki 4 wiersze na 3 kolumny kolejnymi liczbami. 'Uwaga na numerację kolumn i wierszy! 'numery 0 1 2 '-------+------------ ' 0 1 2 3 ' 1 4 5 6 ' 2 7 8 9 ' 3 10 11 12 '-------------------- Dim kol, wie, Liczba As Integer DataGridView1.Rows.Clear() Liczba = 0 For wie = 0 To 3 DataGridView1.Rows.Add() For kol = 0 To 2 Liczba = Liczba + 1 DataGridView1.Item(kol, wie).value = Liczba.ToString '--------------------------------------------------- Next Next Private Sub btn3x3 przekatna_jedynki_click(byval sender As _ Object, ByVal e As System.EventArgs) _ Handles btn3x3 przekatna_jedynki.click 'Wstawianie liczby 1 na głównej przekatnej '----------------------------------------- Dim i As Integer DataGridView1.Rows.Clear() For i = 0 To 2 DataGridView1.Rows.Add() DataGridView1.Item(i, i).value = "1" '----------------------------------- Next Private Sub btn3x3_druga_przekatna_2_click(byval sender As _ Object, ByVal e As System.EventArgs) _ Handles btn3x3_druga_przekatna_2.click 'Wstawianie liczby 2 na drugiej przekątnej '----------------------------------------- Dim i As Integer DataGridView1.Rows.Clear() For i = 0 To 2 DataGridView1.Rows.Add() DataGridView1.Item(2 - i, i).value = "2" '--------------------------------------- Next Copyright 2014, mgr inŝ. Janusz Bonarowski 7

Private Sub btnusun_wiersz_click(byval sender As _ System.Object, ByVal e As System.EventArgs) _ Handles btnusun_wiersz_0.click 'Usuwanie wiersza z indeksem 0 '----------------------------- Dim odp As DialogResult odp = MsgBox("Czy usunąć pierwszy wiersz (z indexem 0)?", _ MsgBoxStyle.Question + MsgBoxStyle.YesNo) Try If odp = Windows.Forms.DialogResult.Yes Then DataGridView1.Rows.RemoveAt(0) '----------------------------- End If Catch ex As Exception MsgBox(Err.Description & vbcrlf & _ "Tzn. takiego, który ma gwiazdkę",, _ "Błąd nr " & Err.Number) End Try Private Sub btnusun_wiersz_1_click(byval sender As _ System.Object, ByVal e As System.EventArgs) _ Handles btnusun_wiersz_1.click 'Usuwanie wiersza z indeksem 1 '----------------------------- Dim LiczbaWierszy As Integer Dim odp As DialogResult odp = MsgBox("Czy usunąć wiersz z indexem 1 (czyli drugi)?", _ MsgBoxStyle.Question + MsgBoxStyle.YesNo) Try If odp = Windows.Forms.DialogResult.Yes Then LiczbaWierszy = DataGridView1.Rows.Count If LiczbaWierszy - 1 >= 1 Then MsgBox("LiczbaWierszy=" & _ LiczbaWierszy.ToString & vbcrlf & _ "Spróbujemy usunąć") End If DataGridView1.Rows.RemoveAt(1) '----------------------------- End If Catch ex As Exception MsgBox(Err.Description,, "Błąd nr " & Err.Number) End Try Copyright 2014, mgr inŝ. Janusz Bonarowski 8

Private Sub btnusunwskazanywiersz_click(byval sender As _ System.Object, ByVal e As System.EventArgs) _ Handles btnusunwskazanywiersz.click 'Usuwanie wskazanego wiersza. 'Wiersz moŝna wskazać 'wskazując cały wiersz lub wskazując komórkę w wierszu '----------------------------------------------------- Dim NrWiersza As Integer NrWiersza = DataGridView1.SelectedCells.Item(0).RowIndex ' -------------------------------------------- Try DataGridView1.Rows.RemoveAt(NrWiersza) '------------------------------------- Catch ex As Exception MsgBox(Err.Description,, "Błąd nr " & Err.Number) End Try '... 'A gdyby naleŝało zapełnić siatkę kolejnymi liczbami, 'ale umieszczając je kolejno nie w wierszach lecz w kolumnach? ' 'numery 0 1 2 '-------+------------ ' 0 1 5 9 ' 1 2 6 10 ' 2 3 7 11 ' 3 4 8 13 '-------------------- '...................... 'Bez uŝycia tabeli jako elementu pośredniego... 'DataGridView1.Rows.Clear() 'usuwanie wierszy 'For wiersz = 0 To 3 ' DataGridView1.Rows.Add() ' Liczba = wiersz + 1 ' For kolumna = 0 To 2 ' DataGridView1.Item(kolumna, wiersz).value = Liczba.ToString ' '---------------------------------------------------------- ' Liczba = Liczba + 4 ' Next 'Next '... Copyright 2014, mgr inŝ. Janusz Bonarowski 9

'... 'Z uŝycim tabeli '............. 'Dim tabela(3, 2) As Integer '' Tworzenie tabeli 'DataGridView1.Rows.Clear() 'usuwanie wierszy 'For kolumna = 0 To 2 ' For wiersz = 0 To 3 ' Liczba = Liczba + 1 ' tabela(wiersz, kolumna) = Liczba ' Next 'Next ''Zapełnianie siatki wierszami 'For wiersz = 0 To 3 ' DataGridView1.Rows.Add() ' For kolumna = 0 To 2 ' DataGridView1.Item(kolumna, wiersz).value = _ tabela(wiersz, kolumna).tostring ' ------------------------------------------- ' Next 'Next '... Copyright 2014, mgr inŝ. Janusz Bonarowski 10