Diskuze: Dědění
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Neregistrovaný
Zobrazeno 19 zpráv z 19.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Asi v nepochopení objektového programování. Bezmyšlenkovité přepisování private na public je cestou do pekel.
Jakou to má souvislost s děděním?
Díky, hodně jste mi pomohl. Stálo Vám to za ten čas - psát takovouhle volovinu ?
Já jsem to taky tvůj dotaz příliš nepochopil.
Na namenspace se vykašli, namenspace se hodí asi jen když děláš nějakou knihovnu třetích stran.
Generovaný kód určitě nepřepisuj. Nenapadá mě důvod, proč přistupovat ke kontrolkám jednoho formuláře z druhého. DataGridView má nějaký obsah, tak si udělej veřejnou metodu, která ti ho vrátí. Celé dgv přeci nepotřebuješ.
Ale dgv není žádný zdroj, je to kontrolka co ukazuje zdroj. Zdroj máš třeba v listu nebo v databázi. Proto formy ani nepočítají s tím, že by kontrolky měly být přístupné zvenku. Udělej si ve formu metodu co ti vrátí data, ne kontrol.
Ano, píšu, že se snažím dgv (komu čemu 3.pád, tedy gridu - kontrolce) podstrčit Tabulku jako zdroj dat.
Teď jsem si vytvořil ve Formu metodu:
public void SetGridDataSource(DataSet ds) {
this.dgvData.DataSource = ds.Tables[0];
}
Bohužel stále jí v objektu, odkud jí chci volat nevidím. - vidím jen
vlastnosti a metodu základní třídy Form, přitom vytvořit objekt Formu se
mi podaří a zobrazit ho taky.
nikos
To je divné, nemáš ten formulář v proměnné typu Form místo TvujNazevFormu?
To není možné, pokud máš ve třídě s formulářem veřejnou metodu, tak je samozřejmě viditelná.
Asi nám budeš muset poslat ten projekt, tohle prostě funguje, používal jsem to stokrát.
Teď jsem si do projektu (DLL) přidal další Form (MujForm1 : Form), jen
jsem na něj přidal DataGridView.
Co všechno musím udělat, abych tuto třídu viděl z druhého projektu ?
Uložil jsem všechny soubory a udělal Build (F6)
Je potřeba nějak v druhém projektu obnovit prostředí, aby se aktualizovaly
třídy v DLL (mám CopyLocal=true)
Dky, nikos
Mělo by to stačit jen zbuildit a přidat referenci do druhého projektu, ale tohle jsem praktikoval většinou jen u testů.
Zobrazeno 19 zpráv z 19.