Enter-käsittely

 

Enter-käsittelyn avulla voit esimerkiksi myyntitilauksen rivillä määrätä, mihin sarakkeeseen enter siirtää kursorin.

Määrittely tehdään xml-tiedostoon avulla:

 

NextColumnName

Tähän tagiin kirjoitetaan sen kentän nimi, johon kyseisestä sarakkeesta siirrytään, kun käyttäjä painaa enteriä.

Jos arvoksi määrätään sana ENTER, siirtyy kursori automaattisesti seuraavalle riville, kun käyttäjä painaa sarakkeessa enteriä.

Tagin puuttuminen layout-tiedostosta tai tyhjä tagi ovat myös mahdollisia.

 

InitializeColumn

Tällä tagilla voidaan kertoa se sarake, jolle siirrytään rivinvaihdon jälkeen. Tämä tagi voi pitää sisällään arvot true / false / 1 (= true) / 0 (=false).

Tagin puuttuminen layout tiedostosta on mahdollista, jolloin oletusarvo on false.

 

Esimerkki. Alla ote hieman muokatusta laskurivin (invoice_rows.xml) tiedostosta, jossa tummennettuna huomioitavat kohdat.

 

<?xml version="1.0" encoding="utf-8"?>

<ArrayOfDataGridViewLayoutItem xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">

  <DataGridViewLayoutItem>

    <Name>colpos</Name>

    <ColumnType>TEXTCOLUMN</ColumnType>

    <Width>40</Width>

    <Height>0</Height>

    <IsVisible>true</IsVisible>

    <IsReadOnly>false</IsReadOnly>

    <Frozen>false</Frozen>

    <HeaderText>Pos</HeaderText>

    <DataPropertyName>row_position</DataPropertyName>

  </DataGridViewLayoutItem>

  <DataGridViewLayoutItem>

    <Name>colproductcode</Name>

    <ColumnType>TEXTCOLUMN</ColumnType>

    <Width>100</Width>

    <Height>0</Height>

    <IsVisible>true</IsVisible>

    <IsReadOnly>false</IsReadOnly>

    <Frozen>false</Frozen>

    <HeaderText>Koodi</HeaderText>

    <DataPropertyName>row_productcode</DataPropertyName>

    <DatabaseObject>v_invoice_search.invoicerow_productcode</DatabaseObject>

    <NextColumnName>coldescription2</NextColumnName>

    <InitializeColumn>true</InitializeColumn>

  </DataGridViewLayoutItem>

  …

    <Databaseobject>v_invoice_search.invoicerow_productdescription</DatabaseObject>

  </DataGridViewLayoutItem>

  <DataGridViewLayoutItem>

    <Name>coldescription2</Name>

    <ColumnType>TEXTCOLUMN</ColumnType>

    <Width>100</Width>

    <Height>0</Height>

    <IsVisible>true</IsVisible>

    <IsReadOnly>false</IsReadOnly>

    <Frozen>false</Frozen>

    <HeaderText>Lisänimike</HeaderText>

    <DataPropertyName>row_productdescription2</DataPropertyName>

   <DatabaseObject> v_invoice_search.invoicerow_productdescription2</DatabaseObject>

    <NextColumnName>colamount</NextColumnName>

  </DataGridViewLayoutItem>

  <DataGridViewLayoutItem>

    <Name>colamount</Name>

    <ColumnType>TEXTCOLUMN</ColumnType>

    <Width>60</Width>

    <Height>0</Height>

    <IsVisible>true</IsVisible>

    <IsReadOnly>false</IsReadOnly>

    <Frozen>false</Frozen>

    <HeaderText>Määrä</HeaderText>

    <DataPropertyName>row_amount</DataPropertyName>

    <Alignment>MiddleRight</Alignment>

    <Format>N2</Format>

    <NextColumnName>ENTER</NextColumnName>

  </DataGridViewLayoutItem>

 

Colproductcode (tuotekoodi) sarakkeelle kerrotaan NextColumnName tagin avulla, että enter-painikkeen seurauksena siirrytään coldescription2-sarakkeeseen. Lisäksi sarakkeelle kerrotaan InitializeColumn true arvolla, että se on ns. aloitus-sarake.

 

Coldescription2 kentässä kerrotaan NextColumnName tagin avulla, että enter-painikkeen seurauksena siirrytään colamount kenttään.

 

Colamount kentässä NextColumnName arvo ENTER merkitsee, että enter-painalluksen seurauksena siirrytään uudelle riville. Tässä tapauksessa siirtyminen tapahtuu colproductcode sarakkeeseen, joka on merkitty aloitussarakkeeksi (InitializeColumn = true)

 

 

Tyylitiedostot ladataan edelleen \GRID tiedostosta, mutta siihen kohdistuneet muutokset tallennetaan käyttäjäkohtaiseen hakemistoon. Tämä hakemisto esim. Windows 10-käyttöjärjestelmässä on muotoa:

C:\Users\[käyttäjä]\AppData\Roaming\Lemonsoft Oy\Lemonsoft\

esim.

C:\Users\Teppoka\AppData\Roaming\Lemonsoft Oy\Lemonsoft 

 

Alkuperäiset tyylitiedostot säilyvät koskemattomina ja näin päivityksien yhteydessä käyttäjäkohtaisesti muutettu data ei häviä.

Jokaisesta gridistä voidaan palauttaa oletukset, jolloin käyttäjäkohtaisesta hakemistosta poistetaan tiedostot ja seuraavan kerran gridview hakee datansa alkuperäisestä sijainnista (\GRID).

Tyylitiedoston muuttaminen on henkilökohtainen muutos ja ei heijastu muihin käyttäjiin. Tyylitiedoston voi myös asettaa lajikohtaisesti.