Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在DataGridView中显示特定列?_C#_Wpf_Datagrid - Fatal编程技术网

C# 如何在DataGridView中显示特定列?

C# 如何在DataGridView中显示特定列?,c#,wpf,datagrid,C#,Wpf,Datagrid,我的MS SQL tableNumIE中有一列是integer类型的,当它包含值-1时,意味着它是空的。我想告诉DataGrid中的这个特定列,当我的表数据列的值为-1时,显示空字段,当它与-1不同时,显示它的实际值 您能给我演示一些如何将我的列格式化为此特定逻辑的示例吗?您可以使用DataTrigger创建DataGridTemplateColumn: 请告诉我们您的DataGrid是如何定义的?例如,您是否使用自动生成列?@mm8是自动生成列。“我应该自己做吗?”维亚德:请看我的答案。 pr

我的MS SQL tableNumIE中有一列是integer类型的,当它包含值-1时,意味着它是空的。我想告诉DataGrid中的这个特定列,当我的表数据列的值为-1时,显示空字段,当它与-1不同时,显示它的实际值

您能给我演示一些如何将我的列格式化为此特定逻辑的示例吗?

您可以使用DataTrigger创建DataGridTemplateColumn:


请告诉我们您的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 };
    }
}