好吧,今天,我遇到了程式設計生涯中迄今為止最奇怪的問題之一,我正在構建乙個與檔案瀏覽器完全不同的應用程式,並且我需要反轉
datagrid控制項,您說的很簡單嗎?
好好嘗試一下,您很快就會遇到相同的問題。
問題是,沒有指定的方法可以執行此操作,此外,在google上進行的搜尋顯示,還沒有多少人需要這樣做,所以我不得不自己編寫例程,這種見解是我努力的結果,希望沒有其他人需要花費數小時來嘗試做同樣的事情。
首先,我們假設
我們正在使用的datagrid繫結到名為dummydataitem的類的列表,如下所示:
classdummydataitem
public dummydataitem(string name)
}
好的,這是我嘗試的第一種方法...
public void inverta()
else}}
乍一看,這種方法似乎是完全合理的,我們進行了輕描淡寫,以便可以檢查是否選擇了該行,然後逐項將其反轉。 但是,執行一下,您很快就會在
datagrid中居然無法轉換為datagridrow!嗯,我們必須嘗試其他方法...
public void invertb()
}
var selected 「實際上僅引用選定的專案。這意味著當我們遍歷選定的專案時,列表已更改,並且在迴圈期間不斷變化,因此無法使用它。
最後的工作方式,從我的上乙個示例中,您可以看到我們已經到了一半,但是我們需要使用乙個引用列表,該列表在反轉時不會改變。 因此,如果我們將每個選中的專案強制轉換為它的基類,並新增乙個class屬性
最好是乙個字串,因為字串只能讀到乙個列表中,我們可以跟蹤從選擇中刪除哪些專案(全部選中後)。
public void invertc()
datagrid1.selectall();
foreach (object z in datagrid1.items)}}
在這個例子中,我們從每個
當前選中的dummydataitem,選擇所有專案,然後根據名稱比較選擇哪些專案不屬於datagrid的selecteditems屬性。
目前,這似乎是完成此任務的最明智的方法,我希望有人覺得這很有用,如果有人有更好的解決方案,請隨時與他們分享。
艾公尺·貝利(aimee bailey)。
from:
C WPF DataGrid獲取當前行某列值
0 是指當前行第1列的單元格位置 方法一 private void dg selectedcellschanged object sender,selectedcellschangedeventargs e system.nullreferenceexception 未將物件引用設定到物件的例項。b...
c WPF DataGrid 獲取選中單元格資訊
private void dg selectedcellschanged object sender,selectedcellschangedeventargs e private void button click object sender,routedeventargs e private v...
hive 列轉行 HQL 行轉列,列轉行
1 相關函式 concat string a col,string b col 返回輸入字串連線後的結果,支援任意個輸入字串 concat ws separator,str1,str2,它是乙個特殊形式的 concat 第乙個引數剩餘引數間的分隔符。分隔符可以是與剩餘引數一樣的字串。如果分隔符是 n...