首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使用Linq查询填充Datagrid

使用Linq查询填充Datagrid
EN

Stack Overflow用户
提问于 2012-08-15 02:58:16
回答 2查看 5.8K关注 0票数 0

我有以下wpf格式的datagrid:

代码语言:javascript
运行
复制
<DataGrid Name="DataGrid" AutoGenerateColumns="False" VerticalScrollBarVisibility="Auto">
    <DataGrid.Columns>
        <DataGridTextColumn Header="Name" Width="200"></DataGridTextColumn>
        <DataGridTextColumn Header="Text" Width="200"></DataGridTextColumn>
        <DataGridTemplateColumn Header="Edit" Width="50">
            <DataGridTemplateColumn.CellTemplate>
                <DataTemplate>
                    <Button>View Details</Button>
                </DataTemplate>
            </DataGridTemplateColumn.CellTemplate>
        </DataGridTemplateColumn>
    </DataGrid.Columns>
</DataGrid>

我想从我的代码中填充它。我使用Linq语句来获取我想要放入datagrid中的值

代码语言:javascript
运行
复制
var query =
    (
        from modules ...
        join ...
        join ...
        where ...
        select new { ID = modules.ID, Name = strings.Name, Text = stringTexts.Text }
    );

我想用查询中的名称和文本填充“Name”和“Text”列,但我还希望每行都有一个按钮,当按下该按钮时,我必须知道被按下的行的ID,但ID不必显示在网格上。

如何使用这些值填充网格?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-08-15 03:04:07

告诉列绑定到属性,使用

代码语言:javascript
运行
复制
<DataGridTextColumn Header="Name" Width="200" Binding="{Binding Name}" />

对于其他列,依此类推。

然后在后面的代码中

代码语言:javascript
运行
复制
DataGrid.ItemsSource = query;
票数 2
EN

Stack Overflow用户

发布于 2012-08-15 03:15:15

这对你来说应该是可行的:

代码语言:javascript
运行
复制
Grid.DataSource = from x in modules
                  select new
                  {
                      x.Name,
                      x.Text
                  };
Grid.DataBind();

祝你好运!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11958970

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档