【问题标题】:How to display a some records in CheckedListBox如何在 CheckedListBox 中显示一些记录
【发布时间】:2018-09-05 06:03:58
【问题描述】:

我是 .net 的初学者。

我需要在 CheckedListBox 中显示一些记录。

我在数据集中有表(猫):

我需要在 CheckedListBox 控件中显示数据表(颜色列)的内容。

如何实现?

【问题讨论】:

    标签: c# .net winforms


    【解决方案1】:

    看来CheckedListBox does not support binding,所以这不会按预期工作:

    CheckedListBox1.DataSource = tempDataSet.Tables("Cat")
    CheckedListBox1.DisplayMember = "Color"
    CheckedListBox1.ValueMember = "ID"
    

    您可以改用Bindable CheckedListBox。然后您可以在设计时使用“属性”窗口进行绑定:

    【讨论】:

    • 如果您要执行以下操作,Neolisk 将真正起作用 ((ListBox)CheckedListBox1).DataSource =tempDataSet.Tables("Cat"); ((ListBox)CheckedListBox1).DisplayMember = "颜色"; ((ListBox)CheckedListBox1).ValueMember = "ID;我个人会看BindingList
    • @DJKRAZE:intellisense 不建议使用 DataSource 和类似的东西,但它们是可用的,所以编译器不会阻止你,它甚至会为你纠正这种情况,而无需转换为 ListBox。但是,当通过 DataSource 绑定时,人们会报告 CheckedListBox 的问题。 Here is one.
    【解决方案2】:

    您可以点击此链接:

    how to bind data in checkedlistbox in window application

    或试试这个模板:

    SqlDataAdapter da = new SqlDataAdapter("SELECT NAME AC_CODE FROM AccountM where compcode='" + Compcls.Gcomp_cd + "'", con);
    
    DataSet ds = new DataSet();
    da.Fill(ds, "AccountM ");
    checkedListBox1.DataSource = ds;
    
    checkedListBox1.SelectedValue = "AC_CODE";
    checkedListBox1.SelectedItem = "NAME";
    

    【讨论】:

      【解决方案3】:

      假设您将checkedListBox1.SelectedValue 保存在数据库中,您可以执行以下操作:

      1. 将数据加载到数据表中,例如myDt
      2. 循环数据表中的每个数据行并根据dr 值设置检查状态

        foreach (DataRow dr in myDt.Rows)
        {
             checkedListBox1.SelectedValue = dr[0].ToString();
             checkedListBox1.SetItemChecked(checkedListBox1.SelectedIndex, true);
        }
        

      希望这会有所帮助...

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-12-13
        • 2023-04-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-01-07
        相关资源
        最近更新 更多