c# - 如何将一维字符串数组结果绑定(bind)到数据网格列标题

标签 c# wpf linq

我有如下查询,它返回服务器名称和组件名称的列表

string match = "TEST"

var headerArray = from a in this.db.Servers
                 where a.ServerID.Contains(match)
                 join b in this.db.Components
                        on a.ServerID equals b.ServerID into g
                select new
                {
                    a.ServerID,
                    Components = g.Select(x => x.Name), 
                };

List<string> result = new List<string>();

foreach (var server in headerArray)
{
    result.Add(server.ServerID);

    foreach (var componentName in server.Components)
        result.Add(componentName);
}

string[] header = result.ToArray();

编辑

datagrid1.ItemsSource = header.ToList();

header 以数组的形式存储服务器名列表。如何将此结果绑定(bind)到数据网格列?

最佳答案

您不能绑定(bind) gridview 标题列。 您需要创建一个带有 string[] 标题的循环并动态添加列。

您可以通过以下网址了解如何在 gridview 中动态添加列

How to add a GridView Column on code-behind?

http://www.codeproject.com/Articles/13461/how-to-create-columns-dynamically-in-a-grid-view

关于c# - 如何将一维字符串数组结果绑定(bind)到数据网格列标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17145362/

相关文章:

c# - 简单的 'Logout' ASP.NET 页面

c# - 如何从 IRandomAccessStream 获取 IBuffer

c# - Windows Phone 8.1 检查密码是否设置否则加载新页面

WPF 绑定(bind)到集合并使用 MVVM 将新项目添加到集合

c# LinqtoTwitter 从连接上下文获取 ScreenName/UserID

c# - 没有 xsi :type 的派生对象的序列化

wpf - BorderThickness 为 1 以 2 像素的厚度呈现 - 我在这里缺少什么?

c# - 如何通过 DevExpress 以编程方式关闭所有 WPF 菜单、弹出窗口等以解决与 WindowsFormsHost 相关的问题?

c# - MVC EF——内部连接

c# - 使用 OR 的 LINQ WHERE