Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Jedna forma za vise prikaza

[es] :: .NET :: .NET Desktop razvoj :: Jedna forma za vise prikaza

Strane: 1 2

[ Pregleda: 2807 | Odgovora: 26 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

alfa-pro
Pancevo

Član broj: 241818
Poruke: 476
*.dynamic.sbb.rs.



+7 Profil

icon Jedna forma za vise prikaza07.01.2018. u 22:09 - pre 16 meseci
Dali je izvodljivo i dali je preporucljivo da se kreira jedna forma koja je zaduzena da na osnovu nekog parametra prikazuje podatke u datagridu i da podesi polja za filtriranje na neku odredjenu tabelu u bazi.

Da pojasnim imam sifrarnik u kome se nalaze "artikli, kupci, dobavljaci,banke,skladista itd...) sada svaka od ovih stavki ima posebnu formu koja sadrzi left panel sa textBox kontrolama za filtriranje podataka u gridu u istoj formi. Sada ja zelim da izbegnem da kreiram tu istu formu za sve te tabele i da pisem iste filtere itd itd. Jel postoji mogucnost da se napravi jednostavniji put ili moram da pisem za svaku tabelu sve jovo nanovo? U tom slucaju imacu preko 50 formi za izlistavanje nekih tabela.
Kada vidjamo uvek ista lica, na kraju ona postaju deo našeg života. A kada postanu
deo našeg života,
onda žele i da nam ga izmene. I ako ne bude po njihovom, nije im pravo. Jer, svaki
čovek ima tačnu predstavu kako bi trebalo da živimo svoj život. A nikad nemaju pojma
kako treba da prožive sopstveni život.
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12516



+4494 Profil

icon Re: Jedna forma za vise prikaza07.01.2018. u 22:37 - pre 16 meseci
WPF ili WinForms?
 
Odgovor na temu

alfa-pro
Pancevo

Član broj: 241818
Poruke: 476
*.dynamic.sbb.rs.



+7 Profil

icon Re: Jedna forma za vise prikaza07.01.2018. u 22:49 - pre 16 meseci
WinForms
Kada vidjamo uvek ista lica, na kraju ona postaju deo našeg života. A kada postanu
deo našeg života,
onda žele i da nam ga izmene. I ako ne bude po njihovom, nije im pravo. Jer, svaki
čovek ima tačnu predstavu kako bi trebalo da živimo svoj život. A nikad nemaju pojma
kako treba da prožive sopstveni život.
 
Odgovor na temu

Predrag Supurovic
Pedja YT9TP
Užice

Član broj: 157129
Poruke: 5512

Sajt: pedja.supurovic.net


+1260 Profil

icon Re: Jedna forma za vise prikaza08.01.2018. u 03:57 - pre 16 meseci
Ne da može neko ako ceniš svoje vreme samo tako ćeš i da radiš. Pretraga šifarnika je opšti problem koji s emože primeniti na sve šifarnike uz malo podešavanja kro zprametrei nema razloga da za svaki šifarnik praviš posebnu formu za pregled.


 
Odgovor na temu

S A J A
Beograd

Član broj: 226539
Poruke: 1798
*.static.sbb.rs.



+407 Profil

icon Re: Jedna forma za vise prikaza08.01.2018. u 22:08 - pre 16 meseci
Ja bih išao na više formi. Podaci su različiti. Svaki grid će imati neka svoja polja, sa svojim specifičnostima i akcijama. Posle će tu da se dodaje koješta drugo. Ako se sve nagura u jednu formu, u početku će biti jednostavnije ali će kasnije morati da se prave razni kompromisi. Zajednički kod uvek može da se izmesti u neku klasu.
 
Odgovor na temu

Dusan Kondic
Programer
ZR "Parametar" Ljubovija
Ljubovija

Član broj: 49961
Poruke: 225
*.customer.telenor.rs.

Sajt: www.drinacoding.com


+14 Profil

icon Re: Jedna forma za vise prikaza09.01.2018. u 06:15 - pre 16 meseci
Ja uvek pravim jednu CRUD formu (window) za sve šifarnike koji nemaju logiku.
Svaki novi šifarnik ovog tipa možeš samo da prikačiš na ovu formu, a ako neki postojeći dobije neku komplikovanu logiku, uvek možeš za njega da kreiraš nov form (window).
 
Odgovor na temu

Predrag Supurovic
Pedja YT9TP
Užice

Član broj: 157129
Poruke: 5512

Sajt: pedja.supurovic.net


+1260 Profil

icon Re: Jedna forma za vise prikaza09.01.2018. u 06:47 - pre 16 meseci
Citat:
S A J A:
Ja bih išao na više formi. Podaci su različiti. Svaki grid će imati neka svoja polja, sa svojim specifičnostima i akcijama. Posle će tu da se dodaje koješta drugo. Ako se sve nagura u jednu formu, u početku će biti jednostavnije ali će kasnije morati da se prave razni kompromisi. Zajednički kod uvek može da se izmesti u neku klasu.


Bezmalo sam 30 godina programer i još nisam naišao na šifarnik koji nije mogao da se uklopi u jednu univerzalnu formu. Sve različitosti se mogu rešiti podešavanjima forme.

Posebna forma se pravi samo ako zaista postoji potreba za specifičnim korisničkim interfejsom.



 
Odgovor na temu

S A J A
Beograd

Član broj: 226539
Poruke: 1798
*.static.sbb.rs.



+407 Profil

icon Re: Jedna forma za vise prikaza09.01.2018. u 07:44 - pre 16 meseci
Ako praviš šifarnike tako da tebi bude lakše, to je potpuno razumljivo. A ako hoćeš da praviš šifarnike koji u sebi sadrže sve specifičnosti konkretnih podataka, i da zapravo budu prilagođeni samom korisniku a ne programeru, onda neće biti praktično da se sve umulja u isto. Sa programerske strane artikli, partneri i radnici jesu jedno te isto ali u stvarnosti nisu i program treba da bude prilagođen stvarnosti a ne programeru. Ali dobro, razumem potrebu da se "smulja na brzinu". Ja kad bi to radio za sebe, svaka forma bi bila odvojena i upravo bi akcenat stavio da različitostima.
 
Odgovor na temu

Dusan Kondic
Programer
ZR "Parametar" Ljubovija
Ljubovija

Član broj: 49961
Poruke: 225
*.customer.telenor.rs.

Sajt: www.drinacoding.com


+14 Profil

icon Re: Jedna forma za vise prikaza09.01.2018. u 08:31 - pre 16 meseci
Ja ne vidim nikakvo muljanje u ovakvom pristupu, a sigurno da programeru nije lakše.
Napraviti dinamički prozor koji će za prosleđenu tabelu automatski kreirati CRUD komande, voditi računa o spoljnim ključevima, kreirati npr. ComboBox-ove sa podacima iz povezanih tabela, pamtiti poslednje podešene širine kolona, sakrivati Id polja i druge slične stvari, sigurno programeru nije lakše. Ono što se ovim pristupom na kraju dobija je vreme. Za svaki prost šifarnik pozoveš prozor i proslediš mu naziv tabele.
S obzirom na to da pričamo o šifarnicima, ne vidim da korisniku ima šta posebno da se prilagođava. Ako ima, nije sporno, napravi nov prozor za taj entitet (tabelu).
 
Odgovor na temu

Predrag Supurovic
Pedja YT9TP
Užice

Član broj: 157129
Poruke: 5512

Sajt: pedja.supurovic.net


+1260 Profil

icon Re: Jedna forma za vise prikaza09.01.2018. u 09:52 - pre 16 meseci
Citat:
S A J A:
Ako praviš šifarnike tako da tebi bude lakše, to je potpuno razumljivo. A ako hoćeš da praviš šifarnike koji u sebi sadrže sve specifičnosti konkretnih podataka, i da zapravo budu prilagođeni samom korisniku a ne programeru, onda neće biti praktično da se sve umulja u isto. Sa programerske strane artikli, partneri i radnici jesu jedno te isto ali u stvarnosti nisu i program treba da bude prilagođen stvarnosti a ne programeru. Ali dobro, razumem potrebu da se "smulja na brzinu". Ja kad bi to radio za sebe, svaka forma bi bila odvojena i upravo bi akcenat stavio da različitostima.


Biće da u stvari ne razumeš ili su tvoji programersk dometi takvi da ne možeš da poimeš da je zaista moguće napraviti univerzalnu formu. Univerzalnost ne znači ograničenost i manju funkcionalnost, baš naprotiv ona stvara predispozicije da nemaš ograničenja šta sve možeš da napraviš.

Alfa'pro je započeo priču o jednoj univerzalnoj formi koja se korsiti za brz i jednoobazan pristup šifarnicima, dovoljna da odradi posao dok se ne napravi neka specifična forma za neki specifičan šifarnik, ako ima potrebe. To je samo mali korak ka univerzalanosti ali veoma bitan korak. Zašto je bitan: zato što će imati jednu formu. Kad mu bude trebalo neko unapređenje ili promena korisničkog interfejsa, napraviće to na toj jednoj formi i to će se automatski preslikati na sve šifarnike.

Kada je u pitanju univerzalna maska za unos, to se radi preko metadate, ne programiras masku nego je ucis da čita metadatu a metadatu podešavaš prema potrebi. Metadata se uvek na početku može automatski generisati prema strukturi podataka sa kojima radi a kasnije neko to može da prialgodi za specifične potrebe, štaviše, može čak i sam korisnik programa da je priklagodi sebi bez angažovanja programera.

I ta forma ne treba da radi samo sa šifarnicima nego sa svim dokumentima. Forme ne programiraš nego imaš samo jednu formu koju učiš da radi sa podacima koje joj daš. I to se ne odnosi sam na univerzalu formu nego i na univerzalni meni i univerzalni tabelarni pregledač i univerzalni dijalog sve do univerzalne apliakcije koja u stvari ne ume da radi ništa konkretno već radi onako kako je podesiš (ili korisnik izabere).

Smem da se kladim da to uopšte nije lakše napraviti kao što se tebi čini. Zašto smem? Pa zato što sam radio i jedno i drugo i to sam radio na više platformi (od desktop do web) i svaki put se univerzalni pristup pokazao kao dobitna kombinacija. Programiranja ima manje ali je zato zahtevnije. Dobit se oseća na kasnijem bržem razvoju, prilagođavanju potrebama korisnika i lakšem održavanju

Suština programerskog umeća i veštine je u uopštavanju. Samim svojim pitanjem je alfa-pro pokazao da je počeo da prelazi tu granicu između učukavača koda i programera. Jeste da je on zamilsio da uradi nešto što je jednostavno i jeste ograničeno ali to je početak. Bitno je da mu je kvrcnulo i da je počeo da razmišlja u tom smeru. Treba da napravi to tako kako je zamislio jer će mu se tek tada otvoriti mogućnosti i vrlo brzo će on tu svoju ograničenu univerzalno formu da unapredi o razgraniči.

Savet za Alfa-Pro: jada budeš pravio tu foirmu, nmeoj na nju stavljati direktno komponente korisničkog interfejsa kakve imaš u okruženju u kome radiš. Umesto toga, nrpavi nalsenike tih komponenti i korsiti njih, na primer umesto EditBox napravi AlfaEditoBoc koji je naslednik EditBox, umesto CheckBox, napravi AlfaCheckBox koji je nalsenik CheckBox, umesto Label, napavi AlfaLabel i tako dalje. Ti naslendici ne moraju da unose nikakvu novu funkcionlnost, već sam oda naslede. Možda ti sad ne treba ali će ti kad-tad zatrebati da menjaš funkcionlnst ili izgled komponenti. To ne možeš da uradiš sa dobijemin komponentama ali sa naslednicima možeš.

 
Odgovor na temu

alfa-pro
Pancevo

Član broj: 241818
Poruke: 476
*.cpe.vektor.net.



+7 Profil

icon Re: Jedna forma za vise prikaza09.01.2018. u 09:56 - pre 16 meseci
Hvala na svim odgovorima.

Ja sam uradio nesto pa vi procenite jel to ispravno.

Ono sto sam ja uradio iz svoje glave pre nego sto sam dobio odgovore je sledece:

U napravio sam UserControl koji sadrzi layout: left za filtriranje podataka i middle panel koji prikazuje DataGridView sa podacima, top sa informacijama en title i bottom sa BindingNavigation.

UserControl sadrzi propertije kojima iz neke forme prosledjujem DataSource za datagridview, polja za filtriranje List<String> koja kasnije kroz loop generisem dinamicki Labele i TextBox-ove zbog pretrage grida i property za Title.


Za svaki sifrarnik ono sto trebam jeste da napravim blanko formu i da dodam UserControl i da roknem jedan DOCK FILL.
Nakon toga u konstruktoru setujem DataSource, Filtere i Title.

Primera radi za formu artikal:

Code:
       
 public Artikal()
        {
            InitializeComponent();

            List<string> filteri = new List<string>();

            filteri.Add("SIFRA");
            filteri.Add("NAZIV");
            filteri.Add("MP CENA");
            filteri.Add("VP CENA");

            FormUserControl = new TestUserControl(filteri);
            FormUserControl.Dock = DockStyle.Fill;
            FormUserControl.gridDataSource = GetTable();

            FormUserControl.TitleLabel = "Artikli";
            this.Controls.Add(FormUserControl);

        }



Controls za filtere se generisu dinamicki uz pomoc List<string> filteri

U roku od 3 min dobijam full formu sa potrebnim podacima i filterima. Jeste da na samom startu izgubim dosta vremena da kreiram taj usercotrol kako treba ali nakon toga sve se kreira u 3 koraka.

Evo usercontrol koji je srce svega:

Code:
    
public partial class TestUserControl : UserControl
    {
        private DataTable _dataSource;
        private BindingSource _bs = new BindingSource();
        private List<string> _filters;
        private TextBoxFormFilter[] controls;  // textbox and label usercontrol

        public DataTable gridDataSource 
        {
            get { return _dataSource; }
            set { _bs.DataSource = value; }
        }

        public string TitleLabel
        {
            get {  return formTitleLbl.Text; }
            set { formTitleLbl.Text = value; }
        }

        public TestUserControl(List<String> filters)
        {
            InitializeComponent();

            _filters = filters;

            controls = new TextBoxFormFilter[_filters.Count];

            dataGridView1.DataSource = _bs;
            bindingNavigator1.BindingSource = _bs;

            SetupFilters();
        }

        public void SetupFilters()
        {
            int space = 20;
            int count = 0;

            for(int i = 0; i < _filters.Count; i++)
            {
                count += 1; 

                controls[i] = new TextBoxFormFilter();
                controls[i].SetLabelValue(_filters[i]);
                controls[i].textBoxFilter.Name = "TextBox" + count.ToString();
                controls[i].Location = new Point(5, 15 + space);

                space += 50;
            }

            for(int i = 0; i < _filters.Count; i++)
            {
                filterPanel.Controls.Add(controls[i]);
            }
        }

        private void SearchBtn_Click(object sender, EventArgs e)
        {
            string s = String.Empty;
            BindingSource bs = new BindingSource();

            for (int i = 0; i < _filters.Count; i++)
            {
                string value = controls[i].GetTextBoxValue();

                if (!string.IsNullOrWhiteSpace(value) && !string.IsNullOrEmpty(value))
                {
                    s = value;

                    bs.Filter = dataGridView1.Columns[2].ToString() + " LIKE '%" + s + "%'";
                }                 
            }

            dataGridView1.DataSource = bs;

            //MessageBox.Show(s);
        }


Ovo sve radi super i eventi mogu da se pohvataju. TextBoxFormFilter je dodatna kontrola koja kreira dinamicki label i textbox. TextBoxFormFilter kontrola sadrzi label i textbox i kroz FOR petlju kreiram filtere.

Mada me predlog @Dusan Kondic za CRUID mozda vise privlaci.

Obrni okreni ja ovde opet moram da kreiram za svaki sifrarnik praznu formu (frmArtikli, frmKupci, frmDobavljaci) i svakoj da dodajem user control koji sam kreirao da bi prikazao informacije.

Mozda kada bi napravio jednu UNIQUE formu kojoj cu kao ste je receno samo da prosledim ime tabele i na osnovu toga da se ona sama generise? Samim tim bi izbegao kreiranje blanko tabela.
Kada vidjamo uvek ista lica, na kraju ona postaju deo našeg života. A kada postanu
deo našeg života,
onda žele i da nam ga izmene. I ako ne bude po njihovom, nije im pravo. Jer, svaki
čovek ima tačnu predstavu kako bi trebalo da živimo svoj život. A nikad nemaju pojma
kako treba da prožive sopstveni život.
 
Odgovor na temu

Predrag Supurovic
Pedja YT9TP
Užice

Član broj: 157129
Poruke: 5512

Sajt: pedja.supurovic.net


+1260 Profil

icon Re: Jedna forma za vise prikaza09.01.2018. u 10:12 - pre 16 meseci
Citat:
alfa-pro
Mozda kada bi napravio jednu UNIQUE formu kojoj cu kao ste je receno samo da prosledim ime tabele i na osnovu toga da se ona sama generise? Samim tim bi izbegao kreiranje blanko tabela.


Upravo tako. u tvom slučaju ime tabele je dovoljan podatak da forma zna gde da potraži opis kako treba daizgleda za rad sa tom tabelom.

Međutim, gledaj to malo šire, isti princip možeš da primeniš i na dokument. Pod dokumentom mislim na skup tabela, recimo uznimo za primer dokument fakture, on se sastoji od zaglavlja i stavki i u praksi i još dodatnih tabela. ako formu nauči da radi sa dokumetom, ona će raditii sa šifarnikom, jer je ifarnik samo prostija varijanta dokumenta - iam samo jednu tabelu.

Potrebne su ti u stvari dve forme; jedna koja je obrazac i koja radi sve CRUD operacije i jedna koja služi za pregled (obično u obliku tabele) i izbor slogova.

Univerzalnost možeš da obezbediš i do nasitnijeg detalja kao to su validacije polja ili popunjavanje default vrednosti pa čak i na akcije kao što je recimo upis, brisanje, sve to ne treba da radi sama forma nego da koristi nekoga ko to ume da uradi sa datim podacima.

U praksi, forma u stvari ne radi direktno sa tabelama nego su njoj tabele dostupne kroz objekte koji ih predstavljaju. To objekti, osim što omogućuju pristup podacima, omogućuju i osnovne oeracije kao što su CRUD operacije, validacije i slično. Na primer, umesto da forma dobviši ime tabele otvori tabelu korisnici, u stvari će prilikom instanciranja da dobije već instanciran objekat Korisnik i njega će da koristi i za podatke i za operacije nad njima.

Tako ti forma može biti potpuno univerzalna jer ona je u stvari samo grafički korisnički interfejs a glavni posao radi namenska klasa (koja takođe može biti uopštena ali da ne komplikujemo).
 
Odgovor na temu

ravni

Član broj: 8894
Poruke: 357



+15 Profil

icon Re: Jedna forma za vise prikaza09.01.2018. u 11:19 - pre 16 meseci
Citat:
alfa-pro:
...da podesi polja za filtriranje na neku odredjenu tabelu u bazi.
... U tom slucaju imacu preko 50 formi za izlistavanje nekih tabela.
Mozes i da iskoristis samu grid komponentu za filtriranje. Otprilike ovako:
https://documentation.devexpre...ter-and-Search#auto_filter_row

Posle formi prosledjujes SQL upit cije rezultate zelis da prikazes.
 
Odgovor na temu

S A J A
Beograd

Član broj: 226539
Poruke: 1798
*.static.sbb.rs.



+407 Profil

icon Re: Jedna forma za vise prikaza09.01.2018. u 12:07 - pre 16 meseci
Citat:
Predrag Supurovic:
I ta forma ne treba da radi samo sa šifarnicima nego sa svim dokumentima. Forme ne programiraš nego imaš samo jednu formu koju učiš da radi sa podacima koje joj daš. I to se ne odnosi sam na univerzalu formu nego i na univerzalni meni i univerzalni tabelarni pregledač i univerzalni dijalog sve do univerzalne apliakcije koja u stvari ne ume da radi ništa konkretno već radi onako kako je podesiš (ili korisnik izabere).


Razumem ovaj koncept ali ipak više praktikujem moju varijantu. Što zbog jednostavnosti, što zbog toga što želim da mi kod bude raspoređen funkcionalno. Kad god sam probao da pravim univerzalne aplikacije, posle nekog vremena eto glavom o zid. Previše komplikovano i nedajbože da ne radiš na aplikaciji par meseci, ne možeš da se snađeš. Sve zavisi od potrebe a meni lično to nije potrebno. Ako uzmeš prosečnu poslovnu aplikaciju gde imaš artikle, partnere, dokumenta, magacine i slično, tu nema više od 10-15 različitih stvari i nemam problem sa time da za svaki segment specijalno dizajniram forme. Zapravo, to je bilo nekada davno, sada u web programiranju za svaku od tih celina pravim kontroler, model i view. Prva dva u PHP-u, view u Javaskriptu.
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12516



+4494 Profil

icon Re: Jedna forma za vise prikaza09.01.2018. u 12:15 - pre 16 meseci
@S A J A, sve zavisi kako i koliko dobro uradis. Generalno, ljudi prvo rade tako kao ti, vremenom predju na nacin rada koji predstavlja univerzalna resenja za veci skup radnji/resenja a jos kasnije vremenom nauce da nadju balans izmedju ta dva nacina rada (ili njihovog kombinovanja).
Naravno, ili stanu negde na tom putu.
 
Odgovor na temu

alfa-pro
Pancevo

Član broj: 241818
Poruke: 476
*.cpe.vektor.net.



+7 Profil

icon Re: Jedna forma za vise prikaza09.01.2018. u 14:34 - pre 16 meseci
Evo jedan fast test koji sam uradio da bi probao ono sto smo pricali. Formi samo prosledjujem upite i ona se generise.



Code:
namespace Sifrarnik
{
    public partial class Form1 : Form
    {
        private DataTable dt;
        private BindingSource bs;
        private string _query;

        public Form1()
        {
            InitializeComponent();
   
        }

        public Form1(string query, string title)
        {
            InitializeComponent();

            this.Text = title;

            _query = query;

            bs = new BindingSource();

            this.PopulateDataGridView();

          
        }

        /// <summary>
        /// 
        /// </summary>
        private void PopulateDataGridView()
        {
            DataTable data = GetData(_query);

            bs.DataSource = data;

            dataGridView1.DataSource = bs;
            bindingNavigator1.BindingSource = bs;
        }

        private void SetupDatagridView()
        {
            DataGridViewColumn column = dataGridView1.Columns[0];
            column.Width = 360;
        }
        /// <summary>
        /// 
        /// </summary>
        /// <param name="q"></param>
        /// <returns></returns>
        private DataTable GetData(string q)
        {
            using (var conn = new MySqlConnection(Db.connStr))
            {
                try
                {
                    conn.Open();

                    using (MySqlDataAdapter adapter = new MySqlDataAdapter(q, conn))
                    {
                        dt = new DataTable();
                        adapter.Fill(dt);

                        return dt;
                    }
                }
                catch (MySqlException e)
                {
                    MessageBox.Show(e.Message);
                }
            }

            return dt;
        }

    }
}


I evo finalne klase odakle sve zadajem

Code:
 public partial class MainWindow : Form
    {
        public MainWindow()
        {
            InitializeComponent();
        }

        /// <summary>
        /// 
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void listaArtikalaToolStripMenuItem_Click(object sender, EventArgs e)
        {
            CreatePage("CALL lista_artikala()", "Artikli");
        }
 
        private void listaKupacaToolStripMenuItem_Click(object sender, EventArgs e)
        {
            CreatePage("CALL lista_kupaca()", "Kupci");
        }

        
        private void listaDobavljacaToolStripMenuItem_Click(object sender, EventArgs e)
        {
            CreatePage("SELECT id, naziv, adresa, telefon_1, email, website FROM dobavljaci", "Dobavljači");
        }

      
        private void listaPorudzbinaToolStripMenuItem_Click(object sender, EventArgs e)
        {
            CreatePage("CALL spisak_porudzbina()", "Web Porudzbine");
        }
     


        private void CreateTabPage(Form form)
        {
            form.TopLevel = false;
            
            TabPage tabPage = new TabPage();
            tabPage.Text = form.Text;
            tabPage.Controls.Add(form);

            tabControl1.Controls.Add(tabPage);
            tabControl1.SelectedTab = tabPage;

            form.Show();
        }

         
        private void CreatePage(string query, string title)
        {
            Form1 form = new Form1(query, title);

            CreateTabPage(form);
        }


Ovo je bas grubo i brzo uradjenno, tu treba jos dosta toga da se uradi. Samo ovo je mnogo laksi nacin nego ono sto sam ja gore navodio.

Ono sto sada zelim da implementiram jeste polja za filtriranje. Dali da na osnovu naziva grid kolona po nazivu iz grida generisem TextBox-ove za filtriranje ili da dodam jos jedan parametar u konstruktoru gde cu proslediti listu polja za filtriranje koja treba da se generisu ?
Kada vidjamo uvek ista lica, na kraju ona postaju deo našeg života. A kada postanu
deo našeg života,
onda žele i da nam ga izmene. I ako ne bude po njihovom, nije im pravo. Jer, svaki
čovek ima tačnu predstavu kako bi trebalo da živimo svoj život. A nikad nemaju pojma
kako treba da prožive sopstveni život.
 
Odgovor na temu

Dusan Kondic
Programer
ZR "Parametar" Ljubovija
Ljubovija

Član broj: 49961
Poruke: 225
109.121.24.*

Sajt: www.drinacoding.com


+14 Profil

icon Re: Jedna forma za vise prikaza09.01.2018. u 19:35 - pre 16 meseci
Evo ti ovo parče koda pa proanaliziraj.
Na odgovarajuće mesto upiši tačan naziv neke tabele i izvrši query.
Dobićeš podatke pomoću kojih možeš da napraviš odgovarajuće procedure, da formatiraš DataGrid i slično.
Code:

DECLARE @TableName VARCHAR(50)
SET @TableName = 'OVDE UPISI NAZIV TABELE'

SELECT * FROM sys.tables t WHERE t.name = @TableName
SELECT c.* FROM sys.tables t INNER JOIN sys.columns c ON t.object_id = c.object_id WHERE t.name = @TableName
SELECT fk.* FROM sys.tables t INNER JOIN sys.foreign_keys fk ON t.object_id = fk.parent_object_id WHERE t.name = @TableName
SELECT fk.* FROM sys.tables t INNER JOIN sys.foreign_keys fk ON t.object_id = fk.referenced_object_id WHERE t.name = @TableName
 
Odgovor na temu

Predrag Supurovic
Pedja YT9TP
Užice

Član broj: 157129
Poruke: 5512

Sajt: pedja.supurovic.net


+1260 Profil

icon Re: Jedna forma za vise prikaza10.01.2018. u 07:12 - pre 16 meseci
Citat:
S A J A:
Citat:
Predrag Supurovic:
I ta forma ne treba da radi samo sa šifarnicima nego sa svim dokumentima. Forme ne programiraš nego imaš samo jednu formu koju učiš da radi sa podacima koje joj daš. I to se ne odnosi sam na univerzalu formu nego i na univerzalni meni i univerzalni tabelarni pregledač i univerzalni dijalog sve do univerzalne apliakcije koja u stvari ne ume da radi ništa konkretno već radi onako kako je podesiš (ili korisnik izabere).


Razumem ovaj koncept ali ipak više praktikujem moju varijantu. Što zbog jednostavnosti, što zbog toga što želim da mi kod bude raspoređen funkcionalno. Kad god sam probao da pravim univerzalne aplikacije, posle nekog vremena eto glavom o zid. Previše komplikovano i nedajbože da ne radiš na aplikaciji par meseci, ne možeš da se snađeš. Sve zavisi od potrebe a meni lično to nije potrebno. Ako uzmeš prosečnu poslovnu aplikaciju gde imaš artikle, partnere, dokumenta, magacine i slično, tu nema više od 10-15 različitih stvari i nemam problem sa time da za svaki segment specijalno dizajniram forme. Zapravo, to je bilo nekada davno, sada u web programiranju za svaku od tih celina pravim kontroler, model i view. Prva dva u PHP-u, view u Javaskriptu.


Naravno, praviti univerzanu aplikaciju za neki jednostavan posao se ne isplati, prsotije je i brže slepati par formi i to je to. Međutim, mi pričamo o pravljenju kvalitetnih aplikacija, zar ne?

Da nisam usvojio ovaj metod univerzalnosti, ja danas ne bih bio programer nego bih radio nešto manje stresno. Meni je danas nezamislivo da svaki put iznova pravim jedno te isto samo zato što je struktura podataka različita, a pogotovo da to posle treba i da održavam.

MVC paternbi nije to osim ako ne napraviš negi univerzalni MVC. Radio sam to i radi korektno i šravište prilično je praktično pogotovo na webu gde korisnici ne traže fensi interfejs nego praktičan interfejs. Web je takva platforma da te prosto tera na univerzalni pristup.

 
Odgovor na temu

alfa-pro
Pancevo

Član broj: 241818
Poruke: 476
*.cpe.vektor.net.



+7 Profil

icon Re: Jedna forma za vise prikaza10.01.2018. u 11:33 - pre 16 meseci
@Predrag Supurovic
Dali bi mogao da mi das neki link ili neku kljucnu rec sta da izguglam da vidim kako je neko uradio tu jednu univerzalnu formu koja je obrazac i koja radi sve CRUD operacije i jedna koja služi za pregled. Googlam winforms universal forms, winforms single charged form, winforms dynamic form i nista od navedenog o cemu razgovaramo.

Sto se tice prikaza to sam skontao sada je malo dilema kako da je naucim da prikazuje odredjena polja za CU(Create, Update).
Kada vidjamo uvek ista lica, na kraju ona postaju deo našeg života. A kada postanu
deo našeg života,
onda žele i da nam ga izmene. I ako ne bude po njihovom, nije im pravo. Jer, svaki
čovek ima tačnu predstavu kako bi trebalo da živimo svoj život. A nikad nemaju pojma
kako treba da prožive sopstveni život.
 
Odgovor na temu

Predrag Supurovic
Pedja YT9TP
Užice

Član broj: 157129
Poruke: 5512

Sajt: pedja.supurovic.net


+1260 Profil

icon Re: Jedna forma za vise prikaza11.01.2018. u 03:18 - pre 16 meseci
Ne verujem da ćeš to da nađeš baš tako gotovo. To svak sebi pravi kako mu odgovara.

Od sličnih stvari imaš recimo CMS za web, oni često omogućavaju univerzalne forme, ali na pirlično rudmentarnom nivou.


 
Odgovor na temu

[es] :: .NET :: .NET Desktop razvoj :: Jedna forma za vise prikaza

Strane: 1 2

[ Pregleda: 2807 | Odgovora: 26 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.