C# ObjectListView选中所有复选框

C# ObjectListView选中所有复选框,c#,winforms,objectlistview,C#,Winforms,Objectlistview,我有一个ObjectListView,上面有一些选项卡,其中一个是Job number。此作业编号选项卡从数据库中获取作业编号,并在每个作业编号旁边显示一个复选框。我的要求是,我想在“职务编号”选项卡上添加一个复选框。选中该复选框后,应选择其下方的所有职务编号。i、 e,将选中每个作业编号复选框。。 我有没有办法做到这一点。。我将分享一个屏幕截图以供参考。您需要收听checkitem事件,然后找到选中的事件,然后检查下面的事件。(我假设“作业编号”>大于选中项的作业在下面,需要检查。) 你说的“

我有一个ObjectListView,上面有一些选项卡,其中一个是Job number。此作业编号选项卡从数据库中获取作业编号,并在每个作业编号旁边显示一个复选框。我的要求是,我想在“职务编号”选项卡上添加一个复选框。选中该复选框后,应选择其下方的所有职务编号。i、 e,将选中每个作业编号复选框。。
我有没有办法做到这一点。。我将分享一个屏幕截图以供参考。

您需要收听checkitem事件,然后找到选中的事件,然后检查下面的事件。(我假设“作业编号”>大于选中项的作业在下面,需要检查。)


你说的“它应该选择它下面的所有工作编号”到底是什么意思?选择3135是否应导致选择所有编号较低的条目,因此在这种情况下仅选择3130?或者列表顺序中的任何“下方”条目,在这种情况下,除了3130之外的所有条目?在任何情况下,为什么不处理“检查”事件,对照选择检查每个条目的作业编号,并以编程方式选择它们?@Rev1.0..如果查看屏幕截图,作业编号旁边是一个复选框。我的意思是,如果我点击工作编号旁边的复选框,那么它应该选择下面所有的工作编号..就像选择所有听起来像是一个奇怪的要求。你确定你需要这个吗?用例是什么?
private void objectListView1_ItemChecked(object sender, ItemCheckedEventArgs e)
{
    //First we need to cast the received object to an OLVListItem
    BrightIdeasSoftware.OLVListItem olvItem = e.Item as BrightIdeasSoftware.OLVListItem;
    if (olvItem == null)
        return;    //Unable to cast

    //Now we can cast the RowObject as our class
    MyClass my = olvItem.RowObject as MyClass;
    if (my == null)
        return;   //unable to cast

    //We retrieve the jobnumber.  So this is the job number of the item clicked
    int jobNumber = my.Job; 

    //Now loop through all of our objects in the ObjectListView
    foreach(var found in objectListView1.Objects)
    {
        //cast it to our type of object
        MyClass mt = found as MyClass;

        //Compare to our job number, if greater then we check/uncheck the items
        if (mt.Job > jobNumber)
        {
            if (e.Item.Checked)
                objectListView1.CheckObject(mt);
            else
                objectListView1.UncheckObject(mt);
        }
    }
}