2016-07-20 15 views
1

朝!BindingList <String>データビューにストリングの長さが文字列でない場合

私はlist<string>を持っています。これは、以下に示すようにBindingList<string>に変換されています。これはdatagridviewにバインドされ、このリストから適切な値を設定できます。

しかし、文字列自体を表示する代わりに、代わりに文字列の長さが入力されます。私はデータグリッドで作業したことがないので、助けていただければ幸いです!

  DataGridViewCell cell = new DataGridViewTextBoxCell(); 
     DataGridViewTextBoxColumn colExisting = new DataGridViewTextBoxColumn() 
     { 
      CellTemplate = cell, 
      Name = "Template", 
      HeaderText = "Existing Template", 
     }; 
     findReplaceGrid.Columns.Add(colExisting); 
     var bTemplatesInFiles = new System.ComponentModel.BindingList<string>(templatesInSelection); 
     findReplaceGrid.DataSource = bTemplatesInFiles; 

編集:

templatesInSelectionは、例えば次のように定義される。よう

public static System.Collections.Generic.List<string> templatesInSelection;

およびインスタンス化予め

おかげで、私は、以下のコードの関連部分を取り付けました:

templatesInSelection = new System.Collections.Generic.List<string>();

+0

:次にやる

EDIT

単純なアプローチ(あなたが望んだとして)

まず、何とか列を追加(デザイナまたはコード)

あなたの 'templatesInSelection'? 'Dictionary'や' List 'のようなより複雑なEnumerable – lokusking

+0

OP –

答えて

1

BindingListは、Complex-Object-Binding用に設計されています。

文字列のみをバインドしようとすると、文字列を構築する文字列が列挙され、Count -Propertyのみが表示されます。

可能な解決策は、(醜いしかし作業)これです:

WrapperClass

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

     private string _value; 
    } 

使用

var l = new List<StringValue>(); 
     l.Add(new StringValue("Hello")); 
     l.Add(new StringValue("beautiful")); 
     l.Add(new StringValue("World")); 
     var bTemplatesInFiles = new BindingList<StringValue>(l); 
     this.dataGridView1.DataSource = bTemplatesInFiles; 

は、この情報がお役に立てば幸い!どのようなタイプがある

var l = new List<string>(); 
     l.Add("Hello"); 
     l.Add("beautiful"); 
     l.Add("World"); 
     foreach (var s in l) 
     { 
     this.dataGridView1.Rows.Add(s); 
     } 
+0

に詳細を追加しました単純に文字列のリストをデータグリッドに移動する簡単な方法はありませんか? –

+0

@JamesHughes簡単なアプローチが追加されました – lokusking

+0

ありがとう!これはトリックを行う必要があります –

関連する問題