0

次のような文字列のリストがあります。

firstname midname lastname
aa        bbb     ccc
bb        lijb    hjhk

データグリッドビューに表示したい。以下は私のコードです:

 internal void add_names()
        {
             userInterface ui      = new userInterface();
             List_namez names      = new List_namez();  
             ui.lname.DataSource   = names.getnames().ToList();
             ui.ShowDialog();

        }

上記のコードを実行したときにリストが表示されない理由がわかりません。ただし、コードをデバッグしようとすると、データが ui.lname.DataSource にあることがわかりました。ただし、datagridview に空白行が表示されます。これを修正する方法はありますか?

ありがとう。

4

1 に答える 1

0

名前の定義によって異なります。例を挙げましょう:

class Person
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public override string ToString( )
    {
        return "Person, name=" + FirstName + " Surname=" + LastName;
    }
}

...

public Form1( )
{
  InitializeComponent( );
  dataGridView1.RowsAdded += new DataGridViewRowsAddedEventHandler( dataGridView1_RowsAdded );
  dataGridView1.DataSource = new Person[]{ new Person{ FirstName= "Jarek", LastName= "Mitek"},
                                           new Person{ FirstName= "Tony", LastName= "Montana"}};
}

void dataGridView1_RowsAdded( object sender, DataGridViewRowsAddedEventArgs e )
{
  Console.WriteLine( "Rows added count: " + e.RowCount + " row index: " +e.RowIndex );
  Console.WriteLine( dataGridView1.Rows[ e.RowIndex ].DataBoundItem.ToString( ) );
}

これにより、2 つの列が生成され、各列の名前は Person クラスのプロパティ名になります。これが最も簡単な方法です。データがセットに追加されると、デバッグ行が表示されます。それは役に立ちますか?

于 2012-05-18T02:36:05.753 に答える