1. ホーム
  2. c#

[解決済み] DataGridView コントロールに List<string> をバインドする方法は?

2023-05-02 03:47:54

質問

私は、単純な List<string> で表示させたい。 DataGridView の列に表示させたい。

もしリストがより複雑なオブジェクトを含むなら、単純にリストをその DataSource プロパティの値として確立します。

しかし、これを実行すると

myDataGridView.DataSource = myStringList;

というカラムを取得します。 Length という列ができ、文字列の長さが表示されます。

リストから実際の文字列値をカラムに表示するには?

どのように解決するのですか?

それは、DataGridViewが含むオブジェクトのプロパティを検索するためです。文字列の場合、プロパティは1つだけです - 長さ。ですから、次のような文字列のラッパーが必要です。

public class StringValue
{
    public StringValue(string s)
    {
        _value = s;
    }
    public string Value { get { return _value; } set { _value = value; } }
    string _value;
}

次に List<StringValue> オブジェクトをグリッドにバインドします。これは次のように動作します。