我有以下wpf格式的datagrid:
<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中的值
var query =
(
from modules ...
join ...
join ...
where ...
select new { ID = modules.ID, Name = strings.Name, Text = stringTexts.Text }
);
我想用查询中的名称和文本填充“Name”和“Text”列,但我还希望每行都有一个按钮,当按下该按钮时,我必须知道被按下的行的ID,但ID不必显示在网格上。
如何使用这些值填充网格?
发布于 2012-08-15 03:04:07
告诉列绑定到属性,使用
<DataGridTextColumn Header="Name" Width="200" Binding="{Binding Name}" />
对于其他列,依此类推。
然后在后面的代码中
DataGrid.ItemsSource = query;
发布于 2012-08-15 03:15:15
这对你来说应该是可行的:
Grid.DataSource = from x in modules
select new
{
x.Name,
x.Text
};
Grid.DataBind();
祝你好运!
https://stackoverflow.com/questions/11958970
复制相似问题