C# 如何在DataGridView中显示特定列?
我的MS SQL tableNumIE中有一列是integer类型的,当它包含值-1时,意味着它是空的。我想告诉DataGrid中的这个特定列,当我的表数据列的值为-1时,显示空字段,当它与-1不同时,显示它的实际值 您能给我演示一些如何将我的列格式化为此特定逻辑的示例吗?您可以使用DataTrigger创建DataGridTemplateColumn:C# 如何在DataGridView中显示特定列?,c#,wpf,datagrid,C#,Wpf,Datagrid,我的MS SQL tableNumIE中有一列是integer类型的,当它包含值-1时,意味着它是空的。我想告诉DataGrid中的这个特定列,当我的表数据列的值为-1时,显示空字段,当它与-1不同时,显示它的实际值 您能给我演示一些如何将我的列格式化为此特定逻辑的示例吗?您可以使用DataTrigger创建DataGridTemplateColumn: 请告诉我们您的DataGrid是如何定义的?例如,您是否使用自动生成列?@mm8是自动生成列。“我应该自己做吗?”维亚德:请看我的答案。 pr
请告诉我们您的DataGrid是如何定义的?例如,您是否使用自动生成列?@mm8是自动生成列。“我应该自己做吗?”维亚德:请看我的答案。
private void DataGrid_AutoGeneratingColumn(object sender, DataGridAutoGeneratingColumnEventArgs e)
{
if (e.PropertyName == "NumIE")
{
const string CellTemplate = "<DataTemplate xmlns =\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\" xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\">" +
" <TextBlock>" +
" <TextBlock.Style>" +
" <Style TargetType=\"TextBlock\">" +
" <Setter Property=\"Text\" Value=\"{Binding NumIE}\" />" +
" <Style.Triggers>" +
" <DataTrigger Binding=\"{Binding NumIE}\" Value=\"-1\">" +
" <Setter Property=\"Text\" Value=\"\" />" +
" </DataTrigger>" +
" </Style.Triggers>" +
" </Style>" +
" </TextBlock.Style>" +
" </TextBlock>" +
"</DataTemplate>";
e.Column = new DataGridTemplateColumn() { CellTemplate = System.Windows.Markup.XamlReader.Parse(CellTemplate) as DataTemplate };
}
}