繁体   English   中英

如何在DataGridView中显示某些列?

[英]How to display certain column in DataGridView?

我的MS SQL表( NumIE )中有一列是整数类型,当它包含值-1时,意味着它为空。 我想告诉DataGrid中的此特定列,当我的表数据列的值为-1时显示空白字段,而与-1不同时显示其实际值。

您能否展示一些示例,以说明如何将列格式化为这种特定逻辑?

您可以使用DataTrigger创建一个DataGridTemplateColumn

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 };
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM