IDataStore<TModel>.FindIndex(Predicate<TModel> predicate) Method
.NET Standard 2.x
Returns the index number of the next row in the primary buffer of the DataStore in which data meets the condition specified by the expression.
Namespace: DWNet.Data
Assembly: DWNet.Data.dll
Syntax
int FindIndex(Predicate<TModel> predicate);
Parameters
predicate
Predicate<TModel>
A Predicate<TModel>
that you want to use as the search criteria.
Returns
System.Int
Returns the zero-based index number of the row found.
Returns -1 if no row is found.
Remarks
When multiple rows satisfy the condition, the first row will be returned.
The index number starts from 0 which is consistent with C#.
Examples
The following code example demonstrates how to return the index number of the department record using a Predicate
Model Class: D_Department using Appeon.ApiDoc.Models;
using DWNet.Data;
using System;
namespace Appeon.ApiDoc.IDataStore_GenericExamples
{
public class FindIndexExample
{
private readonly SchoolContext _context;
public FindIndexExample(SchoolContext dataContext)
{
// Sets the data context
_context = dataContext;
}
public void Example()
{
// Instantiates a DataStore object with datawindow: d_department.
var datastore = new DataStore<D_Department>(_context);
datastore.Retrieve();
// The first record in the Department table is found:
// departmentid=1, name=Engineering
var findrow = datastore.FindIndex(d => d.Departmentid < 3);
Console.WriteLine("Department ID: {0}; Department Name: {1}",
datastore.GetItem<int>(findrow, "departmentid"),
datastore.GetItem<string>(findrow, "name"));
/*This code produces the following output:
Department ID: 1; Department Name: Engineering
*/
}
}
}
Example Refer To
DataWindow File: d_department