惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

J
Java Code Geeks
G
Google Developers Blog
有赞技术团队
有赞技术团队
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Blog — PlanetScale
Blog — PlanetScale
罗磊的独立博客
博客园 - 聂微东
V
Visual Studio Blog
博客园_首页
D
DataBreaches.Net
腾讯CDC
I
InfoQ
F
Fortinet All Blogs
量子位
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - 【当耐特】
Google DeepMind News
Google DeepMind News
人人都是产品经理
人人都是产品经理
云风的 BLOG
云风的 BLOG
月光博客
月光博客
Recent Announcements
Recent Announcements
MongoDB | Blog
MongoDB | Blog
C
Check Point Blog

博客园 - 吴勇

windbg入门 Enterprise Library 快速入门3(Exception Handling Application Block) 操作系统方法 复合宾语和双宾语 句子 操作流 序列化 高级sql查询 反射技术 使用游标 基于.net开发平台项目案例集锦 设计原则 常用工具下载地址 反射 简单代码 微软正式推出.NET Framework 3.0 Redistributable Package 核心用户控件 Visual C# 3.0 新特性概览 文件夹压缩代码
wpf数据显示控件 - 吴勇 - 博客园
吴勇 · 2009-12-05 · via 博客园 - 吴勇

    wpf中的数据显示主要用listView来显示

   标准代码:

代码

    <Grid Height="319" Width="571">
        
<Grid.ColumnDefinitions>
            
<ColumnDefinition Width="50" ></ColumnDefinition>
            
<ColumnDefinition></ColumnDefinition>
            
<ColumnDefinition Width="50" ></ColumnDefinition>
        
</Grid.ColumnDefinitions>
        
<Grid.RowDefinitions>
            
<RowDefinition Height="20"></RowDefinition>
            
<RowDefinition></RowDefinition>
            
<RowDefinition Height="20"></RowDefinition>
        
</Grid.RowDefinitions>
        
<ListView Grid.Column="1"  Grid.Row="1"  Margin="31,47,34,28" Name="listView1" >
            
<ListView.View>
                
<GridView ColumnHeaderToolTip="Service">
                    
<GridViewColumn DisplayMemberBinding="{Binding Path=SvcId}" Header="SvcId"></GridViewColumn>
                    
<GridViewColumn DisplayMemberBinding="{Binding Path=SvcNameResId}" Header="SvcNameResId"></GridViewColumn>
                    
<GridViewColumn DisplayMemberBinding="{Binding Path=SvcType}" Header="SvcType"></GridViewColumn>
                    
<GridViewColumn DisplayMemberBinding="{Binding Path=CarrierSvcCode}" Header="CarrierSvcCode"></GridViewColumn>
                    
<GridViewColumn DisplayMemberBinding="{Binding Path=SpId}" Header="SpId"></GridViewColumn>
                    
<GridViewColumn DisplayMemberBinding="{Binding Path=UserType}" Header="UserType"></GridViewColumn>
                
</GridView>
            
</ListView.View>
        
</ListView>
    
</Grid>

代码

代码 
        
private void BindData()
        {
            SqlConnection conn 
= new SqlConnection();
            conn.ConnectionString 
= @"server=192.168.110.210\Global01;database=IICHADB;uid=sa;pwd=Password01!";
            conn.Open();
            SqlCommand cmd 
= conn.CreateCommand();
            cmd.CommandText 
= "select * from dbo.CFG_Service with(nolock)";
            SqlDataAdapter sda 
= new SqlDataAdapter(cmd);
            DataTable dt 
= new DataTable();
            sda.Fill(dt);
            listView1.ItemsSource 
= dt.DefaultView;
            conn.Dispose();
        }

遇到的问题:能否在代码中地址列内容而通过反射动态绑定

代码

            GridView gv = new GridView();
            
foreach (DataColumn col in dt.Columns)
            {
                GridViewColumn gvc 
= new GridViewColumn();
                gvc.Header 
= col.ColumnName;
                Binding bing 
= new Binding();
                bing.Path 
= new PropertyPath(col.ColumnName);
                gvc.DisplayMemberBinding 
= bing;
                gv.Columns.Add(gvc);
            }
            listView1.View 
= gv;
            listView1.ItemsSource 
= dt.DefaultView;

在列中绑定checkbox等控件

代码

           foreach (DataColumn col in dt.Columns)
            {
                GridViewColumn gvc 
= new GridViewColumn();
                gvc.Header 
= col.ColumnName;
                Binding bing 
= new Binding();  
                bing.Path 
= new PropertyPath(col.ColumnName);
                DataTemplate template 
= new DataTemplate(); 
              
                FrameworkElementFactory factory 
= new FrameworkElementFactory(typeof(TextBox));
                factory.SetBinding(TextBox.TextProperty, bing);
                factory.SetValue(TextBox.ForegroundProperty, Brushes.Pink);
                template.VisualTree 
= factory;
                gvc.CellTemplate 
= template;
                gv.Columns.Add(gvc);
            }