将类对象传递给usercontrol

本文关键字:usercontrol 对象 | 更新日期: 2023-09-27 17:54:28

嗨,我如何在一个类对象从UI表单传递到用户控件datagridview?

我创建了一个用户控件,它有一个datagridview,一个搜索文本框在datagridview的顶部,和一个标签来显示总数。我希望在该控件中写入以下功能。

  • 显示绑定到datagridview对象的总数
  • TextChange事件来过滤datagridview中的数据

我希望上面的功能是在Usercontrol中编写的,因为我觉得在UI表单中重复是多余的。为此,我在usercontrol

中创建了一个数据源。
 public object Datasource { get; set; }

1)如果我的类对象是例如User,我如何获得转换为用户的数据源的类型,并获得总用户的计数,并绑定到用户控件中的标签?

2)我觉得把这句话以各种形式写在下面是多余的。我如何通过使用我传递给它的数据源来简化这一点并使其在userControl本身中运行呢?

 private void BaseCRUDForm_GridViewTextChangedSearch(object sender, EventArgs e)
    {            
        if (sender.ToString().Length > 0)
        {
            Users = Users.Where(x => x.Name.StartsWith(sender.ToString())).ToList();
        }
        else
        {
            Users = Repository.UserRespository(false).GetAllUsers();
        }
        UserBindingSource.DataSource = Users;
    }

请建议。

将类对象传递给usercontrol

在创建user control对象时,有两种方法来转发user control

中的数据
  1. 初始化属性。该属性将具有对象类型,可以在稍后绑定到grid时进行分类。

  2. 传递数据给构造函数

我觉得你应该有一个构造函数,即点2。

现在,在转换这个对象之后,您可以填充标签和网格。