按对象查找DataGrid

时间:2015-09-18 19:18:43

标签: c# data-binding

我有一个对象:

public class Part
{
    public bool Selected { get; set; }
    ......
    public bool isExist;
}

我有一个零件和数据列表 - 将它绑定到一个dataGrid(我正在使用Ultragrid):

List<Part> parts = generatePartsList();

ultraGrid1.DataSource = parts;

我还有一个按钮来打印所有选定的部分。

现在,我想在每次打印部件时突出显示相应的行。

    private void btnPrint_Click(object sender, EventArgs e)
    {
        if (parts == null)
        {
            return;
        }
        ultraGrid1.PerformAction(Infragistics.Win.UltraWinGrid.UltraGridAction.ExitEditMode);
        foreach (Part part in parts)
        {
            if (part.Selected)
            {
                PrintPart(part);
                HightlightPrintedRow(part, ultraGrid1);
            }

如何实现此功能?

HightlightPrintedRow(Part part, UltraGrid ultraGrid1)

请注意,列表中的部分在所有字段中可能具有完全相同的值,因此我无法按值找到行。

1 个答案:

答案 0 :(得分:0)

我自己想通了。

    HightlightPrintedRow(Part part, UltraGrid ultraGrid1)
    {
        foreach (var row in ultraGrid1.Rows)
        {
            if ((Part)row.ListObject == part)
            {
                row.Appearance.BackColor = Color.LightGreen;
                break;
            }
        }
    }