Promotic

FindValue - metoda objektu PmaDataTable

Popis:
Metoda nalezne řádek v daném sloupci, který má (nebo nemá) zadanou hodnotu.
Syntaxe:
Long FindValue(Long RowFrom, Variant vCol, Variant Value, Long FindType)
Parametry:
RowFrom(Long) Číslo řádku, od kterého se má hledat (včetně tohoto řádku).
Hodnota >=0 znamená, že je to index řádku (indexováno od 0).
Hodnota -2 znamená poslední řádek.
vCol(Variant) Určuje sloupec, ve kterém se mají porovnávat hodnoty řádků. Musí být typu String nebo celé číslo.
Pokud je typu String, pak je to název sloupce.
Pokud je celé číslo >=0, pak je to index sloupce (indexováno od 0).
Hodnota -2 znamená poslední sloupec.
Value(Variant) Hledaná hodnota. Datový typ této hodnoty by měl být stejný jako datový typ daného sloupce.
FindType(Long) Typ hledání. Pokud je 0, pak se hledá od zadaného řádku dále (včetně tohoto řádku) a hledá se řádek se stejnou hodnotou jakou má parametr Value. Následující hodnoty se mohou sčítat (pokud si logicky neodporují) a změnit tak typ hledání:
1 - Pokud hodnota je text (datový typ String), pak například "abc" a "aBc" se považují za stejné texty (nerozlišuje velká/malá písmena).
2 - Pokud hodnota je text (datový typ String), pak se porovnávají jen počáteční znaky v textech. Počet počátečních znaků je roven počtu znaků v hledané hodnotě (v parametru Value). To znamená, že pokud je v hledané hodnotě text "abc", pak hodnoty s ním stejné jsou například texty: "abcxy", "abc", "abc xy", atd.
4 - Pokud hodnota je text (datový typ String), pak se porovnává, zda je hledaná hodnota uvnitř textu buňky řádku. To znamená, že pokud je v hledané hodnotě text "abc", pak hodnoty s ním stejné jsou například texty: "xyabcz", "abc", "xabc", atd. Tento typ hledání nelze kombinovat s typem 2.
8 - hledá se od zadaného řádku zpět (včetně tohoto řádku)
16 - hledá se řádek s hodnotou menší nebo rovno než hodnota parametru Value.
32 - hledá se řádek s hodnotou větší nebo rovno než hodnota parametru Value.
80 - hledá se řádek s hodnotou menší než hodnota parametru Value.
96 - hledá se řádek s hodnotou větší než hodnota parametru Value.
112 - hledá se řádek s hodnotou jinou než hodnota parametru Value.
Vrácená hodnota:

Pokud nalezne, pak vrací index nalezeného řádku.
Pokud řádek nenalezne, pak vrací zápornou hodnotu.
Příklad:
Vyhledá všechny řádky, které nemají v 0-tém sloupci text začínající na "hhcc" (nerozlišuje velká/malá písmena). Nalezené řádky se vypíší do položky Debug INFO systému.
JavaScriptVBScriptVyber a zkopíruj do schránky

var oDataTable = pMe.Pm("/DataTable");
var nF = -1;
do
{
nF = oDataTable.FindValue(nF + 1, 0, "hHcC", 1 + 2 + 112);
if (nF >= 0)
{
Pm.Debug("Find row=" + nF);
}

} while (nF >= 0);
© MICROSYS, spol. s r.o.