0

我有一个字符串列表如下:

firstname midname lastname
aa        bbb     ccc
bb        lijb    hjhk

我想在 datagridview 中显示。下面是我的代码:

 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( ) );
}

这将生成两列,每列的名称是 Person 类中的属性名称。这是最简单的方法。当数据添加到集合中时,您将获得显示您的调试行。这有帮助吗?

于 2012-05-18T02:36:05.753 回答