何时设置DataSource时DataGridView不显示

时间:2013-01-24 16:28:23

标签: c# datagridview

我使用LINQ从DB加载浮点数组。即使我成功加载了数组,我也无法使DataGridView显示该数组。

这是我的代码

float[] balances = client.LoadBalance(id); 
// LoadBalance() give me an array of floats of customer who has the specified id
dataBalance.DataSource = balances;

我尝试了以下内容,但他们没有帮助

dataBalance.Refresh();
dataBalance.Parent.Refresh();

dataBalance.DataSource = null;
dataBalance.DataSource = balances;

我在float[] balances = client.LoadBalance(id);之后添加了断点,我确信LoadBalance(id)有效。 请帮忙!

3 个答案:

答案 0 :(得分:1)

您需要dataBalance.DataBind();在dataBalance.DataSource = balances;

之后

答案 1 :(得分:1)

解决方案,只需为balances

创建一个类

说,BalanceClass

public class BalanceClass
{
    public float balances { get; set; }
}

然后

float[] balances = client.LoadBalance(id);
List<BalanceClass> bal = new List<BalanceClass>();
foreach (var item in balances)
   bal.Add(new BalanceClass() { balances = item});
ataGridView2.DataSource = bal.ToList();

答案 2 :(得分:0)

你可以这样做。

     dataGridView1.DataSource = 
            (LoadBalance(id) ?? new float[0])
                .Select(x => new { Number = x })
                .ToList();