为数据网格视图中的每一行添加一个带有值的额外列

时间:2014-01-05 10:24:26

标签: c# winforms datagridview

我有一个名为dataGridView1的DataGridView,它填充表单加载。如何在日期时间戳为“now”的情况下添加一个额外的列,并确保此Created列位于末尾或行?

我试过了:

dataGridView1.Columns.Add("Created","GETDATE()");

我像这样填充dataGridView1:

private void DisplayAppropriateMessage(FacebookOAuthResult facebookOAuthResult)
{
    if (facebookOAuthResult != null)
    {
        if (facebookOAuthResult.IsSuccess)
        {
            var fb = new FacebookClient(facebookOAuthResult.AccessToken);

            dynamic result = fb.Get("/me");
            var name = result.name;

            {

                var query = string.Format(@"SELECT uid, username, first_name, last_name, friend_count, pic_big 
                        FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me())");

                dynamic parameters = new ExpandoObject();
                parameters.q = query;
                dynamic results = fb.Get("/fql", parameters);

                List<MyFriends> q = JsonConvert.DeserializeObject<List<MyFriends>>(results.data.ToString());

                dataGridView1.DataSource = q;
       }
        }
        else
        {
            MessageBox.Show(facebookOAuthResult.ErrorDescription);
        }
    }
}

1 个答案:

答案 0 :(得分:1)

List<MyFriends> q包含facebook返回的数据。

您将其存储为MyFriends类型(BTW应该被称为MyFriend,因为每个对象都存储有关您的某个朋友的数据)。然后在datagridview中显示此朋友列表。我不知道你是如何配置gridview但是如果我记得很清楚它可以自动创建显示对象属性的列,或者你可以自己定义它们。

因此解决方案是将属性添加到名称为MyFriends的{​​{1}}类型,然后从Facebook获得结果后,只需迭代结果并将其Created属性设置为Created。根据您配置DateTime.Now的方式,您必须为其添加列。