日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

DataSource绑定DataTable.Select()显示system.data.DataRow问题解决的方法

發布時間:2025/1/21 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 DataSource绑定DataTable.Select()显示system.data.DataRow问题解决的方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

? ? 有時候我們須要在控件中綁定DataTable中設定條件過濾后的數據,此時,在winForm環境中,一些控件不能正確綁定并顯示數據內容。這是由于DataTable.Select()返回的是DataRow[]類型的行數組。沒有行列相關架構值。而控件如ListBox、comboBox等不能識別行數組中的列。讀不到行列架構值,所以無法正常顯示。

? ? 解決的方法是用DataView進行轉換,即在DataView中對DataTable過濾數據。

DataView構造函數例如以下:

? ??DataView ( DataTable dt, ?String RowFilter, ?String SorColName, ?DataViewRowState)


? ? dt 用于獲取或設置源

? ? RowFilter 獲取或設置用于篩選在 DataView 中查看哪些行的表達式

? ? SorColName 獲取或設置 DataView 的一個或多個排序列以及排序順序

? ? DataViewRowState 具體取值及功能見下表:

?Added一個新行。
?CurrentRows包含未更改行、新行和已改動行的當前行。 默認情況下。DataViewRowState 項設置當前行。
?Deleted已刪除的行。

?ModifiedCurrent已改動的原始數據的當前版本號(請參見 ModifiedOriginal)。

?ModifiedOriginal已改動的數據的原始版本號。(雖然此數據已被改動,它仍作為 ModifiedCurrent 可用)。
?None無。
?OriginalRows包含未更改行和已刪除行的原始行。

?Unchanged未更改的行。

? Count 在應用RowFilter后,獲取DataView中的行數

? ? 應用例子:

? ? ? ? ? ? DataTable jgbjlx = getDataTable( "jgbjlx");
? ? ? ? ? ? jgbjlxcomboBox.DisplayMember = "jgname";
? ? ? ? ? ? jgbjlxcomboBox.ValueMember = "id";
? ? ? ? ? ? jgbjlxcomboBox.DataSource = new DataView(jgbjlx?, "id>0","id",DataViewRowState.CurrentRows);

? ? 使用DataView還能夠依據行的狀態設置DataViewRowState,實現顯示更改和已經刪除的行、改動前的原始行、未更改的行等子集。

總結

以上是生活随笔為你收集整理的DataSource绑定DataTable.Select()显示system.data.DataRow问题解决的方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。