1. 程式人生 > >wpf datagrid 中按鈕 動態顯示

wpf datagrid 中按鈕 動態顯示

//若datagrid出現滾動條可能會出現問題需要加上下面倆句話。
//因為出滾動條時,為了顯示加速,datagrid會載入一部分資料。另一些資料當滾動時在載入進去 這樣初始化獲取不到這些資料。
//在datagrid上新增上以下倆句話可以避免預載入資料,使資料全部加載出來
EnableColumnVirtualization="False" EnableRowVirtualization="False"

        // 頁面載入,資料初始化

        private void Dict_PrSCList_Load(object sender, RoutedEventArgs e)
        {
            BingData();
            BingComplete();
        }



        //繫結資料

 private void BingData()
        {
            DataTable dt;
            dt = MngDBFuncWPF.listPrSCName();

            lbCount.Content = "共找到 " + dt.Rows.Count + " 條符合條件的記錄";

            udgList.ItemsSource = dt.DefaultView;

        }



         //繫結資料後設置模板列中按鈕顯示和不顯示
       

private void BingComplete()
        {
         for (int i = 0; i < this.udgList.Items.Count; i++)
         {
            //int index = dataGrid.CurrentCell.Column.DisplayIndex;

             //獲取行 並轉換為DataGridRow
             var cntr = udgList.ItemContainerGenerator.ContainerFromIndex(i);
         
             if (cntr == null)
             {
                 udgList.UpdateLayout();
                 //datagrid.ScrollIntoView(datagrid.Items[rowIndex]);
                 cntr = (DataGridRow)udgList.ItemContainerGenerator.ContainerFromIndex(i);
                 //cntr.IsSelected = true;
             }
             if (cntr == null) return;
             DataGridRow ObjROw = (DataGridRow)cntr;
             //定義列
             DataGridTemplateColumn templeColumn = udgList.Columns[0] as DataGridTemplateColumn;

             if(templeColumn == null) return;
             //object item;
             //item = udgList.CurrentCell.Item;
             //item = udgList.Columns[0].GetCellContent(ObjROw);
            //FrameworkElement element = templeColumn.GetCellContent(item);

             //獲取單元格 通過列和行的交匯處 獲取單元格
            FrameworkElement element = templeColumn.GetCellContent(ObjROw);
            if (element == null) return;
             //通過 Name獲取該單元格下的button元素
            Button btnUpdateNum = templeColumn.CellTemplate.FindName("BTBJ", element) as Button;
             //設定其是否隱藏
            btnUpdateNum.Visibility = Visibility.Hidden;
         }
        }

   


     //重新整理按鈕
        private void btnRefresh_Click(object sender, RoutedEventArgs e)
        {
            Dict_PrSCList_Load(null, null);
        }

相關推薦

wpf datagrid 按鈕 動態顯示

//若datagrid出現滾動條可能會出現問題需要加上下面倆句話。 //因為出滾動條時,為了顯示加速,datagrid會載入一部分資料。另一些資料當滾動時在載入進去 這樣初始化獲取不到這些資料。 //在datagrid上新增上以下倆句話可以避免預載入資料,使資料全部加載出來

Django form動態顯示數據

formbug form 在上節課,可以添加老師和任教班級,但是有一個bug就是,在程序啟動後,你添加班級後,再去添加老師,發現老師下面的班級列表是沒有新添加的那個班級。說明這個班級不是動態更新的。下面看看如何修改代碼實現更新。 class TeachForm(Form): tname = f

wpf datagrid,想要根據一個條件來改變datagrid行的背景顏色

修改 ++ ini orb 方法名 rgb .cn html over 原文:在wpf datagrid中,想要根據一個條件來改變datagrid行的背景顏色 在wpf

wpf datagrid的 DataGridComboBoxColumn資料繫結

wpf  中datagridcomboxColumn的資料繫結主要分下面幾步 1。提供資料來源型別:可以是任意的資料型別:這裡用列舉 public enum OrderStatus { None, New, Processing, Shipped, Received

【C#】【WPF】Button按鈕動態設定Background背景顏色

學習筆記: 在XAML中給Button設定顏色大家都懂的,本篇只是記錄用C#程式碼動態生成的按鈕設定Background背景顏色。 new一個Button,設定Background時可看到該屬性型別是System.Window.Media.Brush C

WPF DataGrid列的屬性繫結問題

WPF中的DataGrid中Column的IsReadOnly和VIsibility等屬性繫結時,總沒有任何效果,輸出裡也顯示找不到,搜了半天才發現,原來Column不屬於visual 或 logical tree,所以不能在樹上搜索他的繫結源,需要藉助其他方法給屬性指定資

JSP實現動態顯示系統時間

JSP中實現動態顯示系統時間可以使用js來編寫,如下程式碼: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-

NPOI導出WPF DataGrid控件顯示數據

項目 his convert sent points png pda 基本 target 最近做個項目,需要導出DataGrid顯示的數據,中間遇到了不少的坑,在此紀錄一下,方便以後查看,也希望能給用到的人,一點幫助。 導出DataGrid顯示的數據,並不是導出DataG

ListView動態顯示隱藏HeaderView和FooterView

roi ron mas relative 監聽事件 isp 刪除 listen 具體實現 ListView中動態顯示和隱藏Header&Footer 解決思路: 直接設置HeaderView和FooterView.setVisibility(View.GONE)無效

《Java》完成一個“將使用者通過鍵盤輸入的文字動態加入到Vector類物件,並顯示此Vector類物件儲存的字串”的應用程式

一、任務目標     完成一個java application應用程式,通過接收使用者通過鍵盤輸入的文字,把每次回車輸入的字串動態加入到Vector類物件中,並顯示此Vector類物件中儲存的字串。   二、Vector類     Vector 類可實現自動增長的物件陣列,提供了

WPF DataGrid顯示MySQL查詢資訊,且可刪除、修改、插入

c# MySQL 1、入行好幾年了,工作中使用資料庫機率很小(傳統行業)。藉著十一假期回家機會,學習下資料庫。 2、初次瞭解資料庫相關知識,如果本文有誤,還望告知。 3、本文主要目的,記錄下wpf介面顯示資料庫資訊,且可進行刪除、修改、插入

使用SAP C4C rule editor動態控制UI上某個按鈕是否顯示

假設我想根據Sales Order的outbound delivery欄位來控制這個Trigger Delivery按鈕的動態顯示: 首先Adapt->Edit Master Layout進入Key user調整模式: 滑鼠放到按鈕上,點選這個小扳手:

vue 專案 如何動態監聽瀏覽器以及iOS手機微信自帶的返回按鈕的事件

vue搭建的頁面中,左上角的返回按鈕,我自己定義了返回的了路徑,可是當執行時,就會發現,蘋果手機的下方會有自帶的返回按鈕(安卓手機沒有),那麼這個按鈕的返回事件該如何設定呢? 一般情況下,微信自帶的返回按鈕都是返回上一個路徑,可是當我的頁面時使用者掃碼進入的,沒有上一條路徑

VS程式設計,編輯WPF過程,點選設計器介面某一控制元件,在XAML中高亮突出顯示相應的控制元件程式碼的設定方法。

在編輯製件WPF過程中,當介面中控制元件較多時,可通過點選設計器中具體的控制元件,從而中在xaml程式碼視窗中快速跳轉到對應的部分。為了突出顯示該部分控制元件程式碼的名稱,方便視覺上直觀的觀察到被選中的控制元件對應的XAML程式碼,可以在VS中設定:選中控制元件後,高亮顯示對應的XAML

WPF datagrid繫結list容器無法更新顯示

Xml程式碼片段: <DataGrid x:Name="DataGridGap_y"  RowHeaderWidth="0"  AlternationCount="2" Grid.Row="1" Grid.Column="0"   AutoGenerateColumn

ExtJS動態隱藏Panel按鈕

1.直接隱藏 在bbar的按鈕中直接加屬性:hidden : true 屬性,可隱藏;disabled : true 屬性,可禁用 在columns列中直接加屬性:hidden : true 屬性,可隱藏; 2.動態隱藏或禁用 bbar的按鈕: //pButton為按鈕ID屬性值Ext.get

微信小程式選項卡、列表動態顯示按鈕

小程式選項卡功能實現 wxml頁面: 先給選項卡賦值data-current=“待確認” 新增點選事件bindtap=“clickTab”, 在js裡clickTab獲取選項卡的值,e.target.dataset.current 通過that.setData賦值給curr

Qt按鈕顯示字元'&'

Qt中在按鈕上顯示字元’&’ 通常使用含字元’&‘的字串為按鈕的顯示名稱,如果設定按鈕的text為 “&Cancel”,即設定text, setText("&Cancel");或建立時 PushButton *pushButto

WPF專案.xaml檔案和.xaml.cs檔案無法收縮顯示的解決辦法

在VisualStudio的WPF專案中,通常同名的.xaml和.xaml.cs檔案是能夠收縮顯示的,但是在某些情況下,會出現.xaml和.xaml.cs並列顯示,無法進行收縮. 如下圖,綠色部分為正常的顯示情況;紅色部分為不正常顯示情況. 解決辦法是修改.csproj檔案

flowable動態顯示節點的審批人資訊

1、上面的流程圖當任務還沒有到的節點,使用者想看看節點的人的資訊,如果我們常規的是不能實現的。 2、思路就是我們取出節點的表示式,然後用我們流程例項的變數來給他翻譯出來即可,如何做呢? 2.1、通過流程例項id查出歷史表中的所有的變數列表 List<HistoricVariableIns