public method O2GAccountsTable.getNextRowByMultiColumnValues

Brief

Gets the next row from O2GAccountsTable based on the multiple columns values.

Declaration
C#
bool  getNextRowByMultiColumnValues (string[] columnNames, object[] columnValues, O2GTableIterator iterator, out O2GAccountTableRow row)

Parameters
columnNames

The array of column names in the Accounts table. For example, AccountID, AccountKind.

columnValues

The array of values of the columns specified by the columnNames parameter. For example, if you want to search the Accounts table for trading accounts without a margin call flag, the columnNames parameter value is an array of AccountKind and MarginCallFlag, and the columnValues parameter is an array of 32 and N.

iterator

The table iterator.

row

[out] The row fetched.

Details

This method allows finding all rows that contain all specified columns values.
If the row is not found, the method returns false.
Note: The returned row contains the current columns values. The values are not automatically updated. To monitor changes, use IO2GTableListener.onChanged. The row interface is thread-safe. The returned row can be used in different threads without synchronization.

Example

Get trading accounts without the margin call flag from the Accounts table [hide]

    public void EnumerateTradingAccounts()
    {
        O2GAccountsTable accounts = (O2GAccountsTable)mTblMgr.getTable(O2GTableType.Accounts);
        O2GTableIterator iterator = new O2GTableIterator();
        O2GAccountTableRow account = null;
        string[] columnNames = new string[] { "AccountKind", "MarginCallFlag" };
        object[] columnValues = new object[] { "32", "N" };
        while (accounts.getNextRowByMultiColumnValues(columnNames, columnValues, iterator, out account))
        {
            Console.WriteLine("AccountID={0}, AccountName={1}, Equity={2}, GrossPL={3}", account.AccountID, account.AccountName, account.Equity, account.GrossPL);
        }
    }

Declared in O2GAccountsTable

back