Skip to main content

DevExpress v24.2 Update — Your Feedback Matters

Our What's New in v24.2 webpage includes product-specific surveys. Your response to our survey questions will help us measure product satisfaction for features released in this major update and help us refine our plans for our next major release.

Take the survey Not interested

RepositoryItemLookUpEdit.GetDataSourceRowIndex(LookUpColumnInfo, Object) Method

Returns the visible index of the row in a data source that contains the specified value in the specified column.

Namespace: DevExpress.XtraEditors.Repository

Assembly: DevExpress.XtraEditors.v24.2.dll

NuGet Package: DevExpress.Win.Navigation

#Declaration

public virtual int GetDataSourceRowIndex(
    LookUpColumnInfo column,
    object value
)

#Parameters

Name Type Description
column LookUpColumnInfo

A LookUpColumnInfo object that is the column whose values will be compared with the specified value to locate the required row.

value Object

A value contained in the required row in the specified column.

#Returns

Type Description
Int32

An integer value that is the row’s zero-based visible index in the data source. -1 if the row was not found.

#Remarks

The index returned can be used to obtain the row’s specific value via the RepositoryItemLookUpEdit.GetDataSourceValue method.

To get the index of a specific row in the underlying data source, use the RepositoryItemLookUpEdit.GetListSourceIndex method.

using System;
using System.Windows.Forms;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;

namespace DXApplication23 {
    public partial class Form1 : DevExpress.XtraEditors.XtraForm {
        public Form1() {
            InitializeComponent();
            lookUpEdit1.Properties.DataSource = Employee.GetSampleData();
            // Sets the lookup's data fields.
            lookUpEdit1.Properties.DisplayMember = "FullName";
            lookUpEdit1.Properties.ValueMember = "ID";
            // Sets the lookup's value. Selects the first record.
            lookUpEdit1.EditValue = 0;
            lookUpEdit1.Properties.ForceInitialize();
            lookUpEdit1.Properties.PopulateColumns();
        }
        int GetLastNameRowIndex(string lastName) {
            return lookUpEdit1.Properties.GetDataSourceRowIndex(lookUpEdit1.Properties.Columns["LastName"], lastName);
        }
    }
    public class Employee {
        public Employee(int iD, string firstName, string lastName) {
            ID = iD;
            FirstName = firstName;
            LastName = lastName;
        }
        public static List<Employee> GetSampleData() {
            return new List<Employee>() {
            new Employee(0, "Bart", "Arnaz"),
            new Employee(1, "Leah", "Simpson"),
            new Employee(2, "Arnold", "Schwartz"),
            new Employee(3, "William", "Zimmer"),
            new Employee(4, "Samantha", "Piper")
        };
        }
        // The 'ID' field must contain unique values.
        public int ID { get; private set; }
        public string FirstName { get; set; }
        public string LastName { get; set; }
        [Display(Order = -1)]
        public string FullName {
            get {
                return string.Format("{0} {1}", FirstName, LastName);
            }
        }
    }
}
See Also