BondingNavigator Add   otázka

VB.NET, ADO.NET, Databáze

Mám ve formuláři textBoxy propojené s datasetem "PakceDtaSet1".

(Dataset jsem vytvořil pomocí průvodce VB 2010).

Na formulář jem přidal BindingNavigátor. Pohyb po řádcích datetable cis_akce pomocí navigátoru mi funguje.

Pro BindingNavigátor je již někde v pozadí ale naprogramována loginka,například že po stisku talčítka Add New se vytvoří nový řádek. Nebo řádek se po DEL smaže. Kód však nikde nevidím. Asi je to naprogramováno přímo v .NET.

Jak se odkáži na buňku nového řádku abych jej naplnil předdefinovanou hodnotou "n" do pole "konec".

Asi nemohu použít toto:

Private Sub BindingNavigatorAddNewItem_Click(sender As System.Object, e As System.EventArgs)
   Dim row As DataRow 
   row = PakceDataSet1.cis_akce.NewRow()
   row("konec") = "n"
   PakceDataSet1.cis_akce.rows.Add(row)
 End Sub

protože to přidání věty je již zařízeno na pozadí a takto bych si přidal další větu. Je to tak?

Možná je ale problém v tom, že nemám vhodně zvolenu tu událost AddNewItem_Click. Kam by jste to dali vy?

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Našel jsem tu část kde se definují akce z tlačítek BindingNavigátoru DELETE, INSERT, Update atd. Je to v souboru "PakceDataSet1.xsd".

Jsou v něm např tyto řádky

<InsertCommand>
  <DbCommand CommandType="Text" ModifiedByUser="false">
    <CommandText>INSERT INTO `cis_akce` (`akce`, `název`, `konec`) VALUES (?, ?, ?)</CommandText>
    <Parameters>
      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="akce" Precision="0" ProviderType="VarWChar" Scale="0" Size="0" SourceColumn="akce" SourceColumnNullMapping="false" SourceVersion="Current" />
      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="název" Precision="0" ProviderType="VarWChar" Scale="0" Size="0" SourceColumn="název" SourceColumnNullMapping="false" SourceVersion="Current" />
      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="konec" Precision="0" ProviderType="VarWChar" Scale="0" Size="0" SourceColumn="konec" SourceColumnNullMapping="false" SourceVersion="Current" />
    </Parameters>
 </DbCommand>
</InsertCommand>

Zde to však editovat asi nemohu. Jde tento kód upravovat prosřednictvím VB NET?

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Vymýšlím, vymýšlím, ale stále to není ono.

Řekl jsem si, že si zjistím kolik má tabulka řádků a změním ty hdnoty na psledním řádku v události BindingNavigatorAddNewItem_Click_1. Ale v ten moment ještě nový řádek není přidán.

Jakou událost bych měl volat aby se provedla ihned po INSERT .... ?

Private Sub BindingNavigatorAddNewItem_Click_1(sender As System.Object, e As System.EventArgs) Handles BindingNavigatorAddNewItem.ClickDim row As DataRow
Dim PoslRadek As Integer
PoslRadek = PakceDataSet1.cis_akce.Rows.Count
MsgBox("To je počet řádků: " + CStr(PoslRadek), vbOKOnly)
row = PakceDataSet1.cis_akce.Rows(PoslRadek - 1)
End Sub

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Potřebuji podle mne dost častou věc - zajistit aby po přidání nově věty, tlačítkem Insert na BindingNavigátoru, měla některá pole předdefinovanou hodnotu.

To tady opravdu není nikdo, kdo používá prvek Binding navigátor s DataSetem, který vznikl průvodcem Data Source Configuration Vizard?

Když hledám na netu, tak všude jsou ukázky, jak to provést pokud si nadefinuji DataSet, DataAdapter, DataTabele atd. programově sám. To to opravdu nikdo nedělá tím vizardem, a musím BindingNavigátor zahodit a udělat si vlastní tlačítka Add, Delete, Save atd?

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback