WPF中為ListView動態綁定數據(可參考)


GridView gv = new GridView();

DataTable dt = fieldManageBLL.GetFieldManage(moduleName);
for ( int  i=0;i<dt.Rows.Count;i++)
{
     if (i==0)
     {
         GridViewColumn gvc= new  GridViewColumn();
         CheckBox cb =  new  CheckBox();
         cb.Checked +=  new  RoutedEventHandler( new  SupplierPayBill().cb_Checked);
         cb.Content =  new  TextBlock().Text =  "全選" ;
         _gvc.Header = cb;
         _gvc.Width = 100;
         _gvc.CellTemplate = (DataTemplate)resources[ "TheCheckBox" ];
         gv.Columns.Add(_gvc);
         continue ;
     }
     gvc.DisplayMemberBinding =  new  Binding(dt.Rows[i][ "FieldManage_Field" ].ToString());
}
return  gv;
 
//其中:dt.Rows[i]["FieldManage_Field"].ToString();分別對應以下DataTemplate中的x:Key的值。
     //至於DisplayMemberBinding我才接觸幾天,目前的理解是只顯示數據而沒有其它效果;而CellTemplate則可以在顯示的數據上加上控件的效果,比如CheckBox、Hyperlink等
 
//XAML代碼:
     <Window.Resources>
         <!-- 復選框 -->
         <DataTemplate x:Key= "TheCheckBox" >
             <TextBlock VerticalAlignment= "Center" >
             <CheckBox Name= "ckb_SelectAll"  Click= "ckb_SelectAll_Click"  Margin= "6 0 0 0" >
                 <!--<TextBlock  Foreground= "White" >全選</TextBlock>-->
             </CheckBox>
             </TextBlock>
         </DataTemplate>
         <!-- 序號 -->
         <DataTemplate x:Key= "TheIndex" >
             <TextBlock Width= "100"  Text= "{Binding Path=TheIndex}"  Style= "{StaticResource NormalTextBlockStyle}"  TextAlignment= "Center" ></TextBlock>
         </DataTemplate>
         <!--單據號-->
         <DataTemplate x:Key= "StoBill_No" >
             <TextBlock Width= "150"  Text= "{Binding Path=StoBill_No}"  Tag= "{Binding Path=StoBill_ID}"  Style= "{StaticResource NormalTextBlockStyle}"  TextAlignment= "Right"  Padding= "0,0,20,0" ></TextBlock>
         </DataTemplate>
         <!--單據類型-->
         <DataTemplate x:Key= "StoBillsType_Name" >
             <TextBlock Width= "100"  Text= "{Binding Path=StoBillsType_Name }"  Style= "{StaticResource NormalTextBlockStyle}"  TextAlignment= "Center" ></TextBlock>
         </DataTemplate>
         <!--時間-->
         <DataTemplate x:Key= "StoBill_OperationDate" >
             <TextBlock Width= "150"  Text= "{Binding Path=StoBill_OperationDate,StringFormat='{}{0:yyyy-MM-dd HH:mm}'}"  Style= "{StaticResource NormalTextBlockStyle}"  TextAlignment= "Left" ></TextBlock>
         </DataTemplate>
         <!--應付-->
         <DataTemplate x:Key= "StoBill_NotPaid" >
             <TextBlock Width= "100"  Text= "{Binding Path=StoBill_NotPaid,StringFormat='N'}"  Style= "{StaticResource NormalTextBlockStyle}"  TextAlignment= "Right"  Padding= "0,0,20,0" ></TextBlock>
         </DataTemplate>
         <!--單據明細-->
         <DataTemplate x:Key= "DanjuDetail" >
             <TextBlock  TextAlignment= "Center"  Width= "100"  >
                <Hyperlink Name= "hpl_DanjuDetailListView"  Tag= "{Binding StoBill_ID}"  Click= "hpl_DanjuDetailListView_Click" >
                 <TextBlock x:Name= "tbl_DanjuDetail"  Text= "單據明細"  />
                </Hyperlink>
             </TextBlock>
         </DataTemplate>
         <!--結算明細-->
         <DataTemplate x:Key= "JieSuanDetail" >
             <TextBlock  TextAlignment= "Center"  Width= "100"  >
                <Hyperlink Name= "hpl_JieSuanDetailListView"  Tag= "{Binding StoBill_ID}"  Click= "hpl_JieSuanDetailListView_Click" >
                 <TextBlock x:Name= "tbl_DanjuDetail"  Text= "結算明細"  />
                </Hyperlink>
             </TextBlock>
         </DataTemplate>
       </Window.Resources>
 
原文:http://www.cnblogs.com/sjrhero/articles/2177994.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM