Winforms DataGridView databind to complex type / nested property

前端 未结 4 1715
余生分开走
余生分开走 2020-12-03 14:52

I am trying to databind a DataGridView to a list that contains a class with the following structure:

MyClass.SubClass.Property

4条回答
  •  北荒
    北荒 (楼主)
    2020-12-03 15:11

    You can add a handler to DataBindingComplete event and fill the nested types there. Something like this:

    in form_load:

    dataGridView.DataBindingComplete += new DataGridViewBindingCompleteEventHandler(dataGridView_DataBindingComplete);
    

    later in the code:

    void dataGridView_DataBindingComplete(object sender,
            DataGridViewBindingCompleteEventArgs e)
    {
        foreach (DataGridViewRow row in dataGridView.Rows)
        {
            string consumerName = null;
            consumerName = ((Operations.Anomaly)row.DataBoundItem).Consumer.Name;
            row.Cells["Name"].Value = consumerName;
        }
    }
    

    It isn't nice but works.

提交回复
热议问题