将 Datagridview 绑定到 StringCollection

本文关键字:StringCollection 绑定 Datagridview | 更新日期: 2023-09-27 18:30:56

是否可以将 Datagridview 绑定到 StringCollection ?我试图以某种方式做到这一点

    StringCollection dict = Settings.Default.MyDict;
    BindingSource bs = new BindingSource();
    bs.DataSource = dict;
    this.DGV.DataSource = bs;

芽而不是集合数据网格视图中的项目显示项目的长度。

将 Datagridview 绑定到 StringCollection

问题是当它绑定到 StringCollection 时,基础类型是string的,因此它会从类型 string 中提取它找到的第一个属性来显示。该属性为长度。

你可以做的是将你的StringCollection包装在你自己创建的类中,并公开一个将显示string文本的属性。

string的包装类:

public class MyString
{
    private string _myString;
    public string Text
    {
        get { return _myString; }
        set { _myString = value; }
    }
    public MyString(string str)
    {
        _myString = str;
    }
}

您的代码变为:

StringCollection dict = Settings.Default.MyDict; 
// put your string in the wrapper
List<MyString> anotherdict = new List<MyString>();
foreach (string str in dict)
{
    anotherdict.Add(new MyString(str));
}
BindingSource bs = new BindingSource();
// bind to the new wrapper class
bs.DataSource = anotherdict;
this.DGV.DataSource = bs; 
相关文章:
  • 没有找到相关文章