datagridview中的数据没有显示C#?

时间:2012-05-18 01:57:53

标签: c# datagridview

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

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中显示空白行。任何建议如何解决这个???

感谢。

1 个答案:

答案 0 :(得分: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( ) );
}

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