Git Product home page Git Product logo

rdb_project's People

Contributors

ronikcz avatar tmthetom avatar vaclav-langr avatar

Stargazers

 avatar

Watchers

 avatar  avatar

rdb_project's Issues

Čtení z databáze s inkonzistencemi

Nejsem si moc jistý, jak ten Dictionary nadatabindovat do toho DataGridView. Možná to nějak jde (přijímám návrhy jak), ale pokud ne, viděl bych dvě řešení:

  1. Udělat místo Dictionary obalovací classu, která bude mít dvě properties: laptop a pole inkonzistencí. Případně tři, kde by třetí byla boolean, který by ukazoval, jestli tam nějaká inkonzistence existuje (to by bylo snažší pro ten výpis v tabulce, případně ten sloupec Inconsitency můžeme úplně odstranit). Tuhle classu bychom pak mohli hodit do listu a ten pak předat jako DataSource, pak už by z toho ty properties šlo dostat, akorát by ty zobrazované byly o úroveň hlouběji.

  2. Přidat do Laptop classy property pole inkonzistencí, které by bylo implicitně nastavené na samé false (pro parsované laptopy ze souborů). Stejně jako u bodu 1) můžeme přidat boolean ukazující existenci ikonzistence.

Tvorba prezentace

Je nutné udělat prezentaci, která bude shrnovat výsledky naší práce.

Prezentace by měly probíhat v především 16. 5. a proto vás prosím o připravení krátké prezentace, jak jste řešili semestrální práci (v rozsahu 3 slidů powerpoint, kde zmíníte schéma databáze a pak způsob, jak jste zadané úkoly vyřešili)

Tvorbu prezentace má přidělenou Tomáš Moravec.

Resolution ve filtrování

Resolution ve filtru předělat na výšku/šířku, oddělené textboxy (protože v databázi to ukládáme zvlášť a vypisovat všechny kombinace je blbost)

Posuvník

Když chci v obousměrném posuvníku ve filtrování limitovat na jen jednu hodnotu (třeba interval 3,3), tak to jde posunout jen zprava (tudíž 3 na 2), ne zleva (2 na 3)

Ukládání vyhledávání do databáze

Parametry vyhledávání ukládám do třídy DatabaseFilter, připravil jsem k ní override ToString i konstruktor, který ten string naparsuje a vytvoří použitelnou třídu pro vyhledávání. Je potřeba akorát vyřešit ukládání těch vyhledávacích stringů do databáze.

Filtr -> Zobrazení pravých hodnot + poslední nastavení filtru

V třídě "FormFilter", přesněji její metodě "InitializeValues", je nutné načítat reálná maxima dat, která jsou v databázi. Nově na to slouží funkce v databázovém konektoru, která vrací slovník maximálních hodnot přímo z databáze. Je potřeba si dávat pozor, aby po opětovném otevření "FormFilter" nebyly maxima nahrazeny maximálními hodnotami z tabulky a ne z databáze.

Hodnoty které mají být načteny:
vystrizek

Dále by bylo dobré, aby si filtr pamatovat své poslední nastavení, tedy když otevřu filtr a posledně jsem si nastavil třeba poloviční RAM, tak aby stejná hodnota byla stále zachována na své pozici u všech hodnot. Tento bod není důležitý a pokud nebude splněn, nic se nestane.

Zabarvování podle inkonzistencí

Bude to fungovat (viz funkce dataGridView_Search_DataBindingComplete, otestoval jsem to na jiném parametru), ale jelikož tam zatím nenačítáme inkonzistence, tak podle nich nemůžeme barvit.

Filter vyhodí vyjímku, pokud neexistují data.

Pokud je zmáčknuto tlačítko Custom Filter a databáze neobsahuje žádná data, pokusí se je načíst a již při první volané metodě getMaxValues() program spadne.

Navrhuji v metodě CustomFilter_Click obalit try, catch, a do catch přidat zprávu typu Database is empty, fill data before filtering. K notifikaci uživatele jsem do UserInterface přidal vlastní metody Notification_Balloon, které mají různé varianty vstupních parametrů.

Nejjednodušší je asi pouze jeden parametr, string se zprávou:
Notification_Balloon("Message")

Nebo nejlépe přidat ikonku aplikace:
Notification_Balloon("Message", Properties.Resources.logo)

File Import -> BackgroundWorker

Je nutné předělat importování nových dat do samostatného vlákna, pomocí Backgroundworkeru.

V regionu "Import tab (Drag&Drop, OpenFileDialog)", je původní metoda "FileLoaded", kterou je nutné předělat z provádění kódu, na volání metody "BackgroundWorker_DoWork", kterou je samozřejmě nutné nejdříve implementovat. Dále je k dispozici metoda "BackgroundWorker_RunWorkerCompleted", která bude provádět akce po nahrávání, zřejmě pouze zobrazení počtu přidaných hodnot a její implementace je zatím nedůležitá.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.