c# DataTable中select 返回新的DataTable(DataTable篩選,排序)
/// 執行DataTable中的查詢返回新的DataTable
/// </summary>
/// <param name="dt">源資料DataTable</param>
/// <param name="condition">查詢條件</param>
/// <returns></returns>
private DataTable GetNewDataTable(DataTable dt, string condition,string sortstr)
{
DataTable newdt = new DataTable();
newdt = dt.Clone();
DataRow[] dr = dt.Select(condition,sortstr);
for (int i = 0; i < dr.Length; i++)
{
newdt.ImportRow((DataRow)dr[i]);
}
return newdt;//返回的查詢結果
}
-----------------------------------------
問題:
30,31都是datatable
OdbcDataAdapter send30 = new OdbcDataAdapter(sql, con);
DataTable dt30 = new DataTable();
send30.Fill(dt30);
DataTable dt31 = new DataTable();
string a;
a =dt30.Rows[0][1].ToString();
dt31 = dt30.Select("發票號= '"+a+"'");
this.dataGridView5.DataSource = dt31.DefaultView;
提示:錯誤 16
無法將型別“System.Data.DataRow[]”隱式轉換為“System.Data.DataTable” E:/ERP/imformation/imformation/sd01.cs 1099 20 information
回答:
DataTable的Select()方法返回的是一個DataRow的陣列,
在你的程式碼中 dt31 = dt30.Select("發票號= '"+a+"'");顯然dt31是Datatable型別,賦值號後面是DataRow陣列。
分析樓主的意思,可能是想要dt30中的發票號為 a的資料,組成一個新的Datatable作為Gridview的資料來源吧?
要是的話可以用下面的程式碼:
string a;
a =dt30.Rows[0][1].ToString();
DataView dataView = dt30.DefaultView;//定義一個DataView為dt30的預設檢視
dataView.RowFilter = "發票號 = '"+a+"'"; //對dataView進行篩選
this.dataGridView5.DataSource = dataView;//篩選後的dataView做資料來源
chufuya:返回的是陣列,陣列的元素是DataRow。你的這句程式碼“dt31.Rows.Add( dt30.Select("發票號= '"+a+"'"));”應該是不會通過編譯的吧?引數不對。
相關推薦
c# DataTable中select 返回新的DataTable(DataTable篩選,排序)
/// 執行DataTable中的查詢返回新的DataTable /// </summary> /// <param name="dt">源資料DataTable</param> /// <p
C# 往Datatable中添加新行的步驟
tab pla 聲明 ble ++ light fineui val clas 以一個實例說明 //錄入年份綁定 [csharp] view plain string str1=str.Remove(0,i); string st
SQL SERVER 存儲過程中SELECT 返回值如何賦值給變量
資料 開心 d+ server 問題 一個表 procedure insert 結果 今天在處理一個問題時,使用到一個存儲過程,是用於更新並獲取最新ID的。在使用過程中,需要獲取到這個ID並賦值給變量,結果用EXEC @ID = 存儲過程的方式獲取失敗了。具體情況如下:
c++11 中函式宣告 新關鍵字 delete的妙用之一: 搭配巨集NonCopyable(ClassName) 使用
c++11 中函式宣告 新關鍵字 delete的妙用之一: 搭配巨集NonCopyable(ClassName) 使用 編譯器版本: gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4) 1. 首先先來
給c:forEach中select和oprtion設定預設選項
<select name="categoryid" style="height: 35px;width: 200px"> <c
淺談C#語言中的各種數據類型,與數據類型之間的轉換
優化配置 line com 歸類 浮點 初學者 結構 ali 順序 什麽是數據類型? 數據類型,百度百科是這樣解釋的:數據類型在數據結構中的定義是一個值的集合以及定義在這個值集上的一組操作。這樣的解釋對於一個初學者來說未必太過於深奧。 簡單點說,數據類型就是不同長度的數據的
Python3基礎 str capitalize 返回新字符串,第一個字母大寫
2.4 6.5 world vat 哲學 源碼 大寫 開源 copy ? python : 3.7.0 OS : Ubuntu 18.04.1 LTS
C語言中的六個避坑糖,吃了再也不怕長蛀牙
1.在C語言中,不正確的int型別(預設是在16位機器中)的常數是(A) A.32768 B.0 C.0xAF
c語言中陣列名代表陣列首地址,它的值在執行期間可以改變嗎?
陣列名是陣列的首地址,就是陣列中第一個元素的地址,是常量。常量是不能出現在賦值號=左邊作為左值的。樓上的都沒有解釋清楚,說陣列名就是指標是錯誤的,指標是變數,是用來儲存變數地址值的變數,而陣列名是常量。一般情況下宣告一個數組,比如char a[10];之後,陣列名a都是數組的首地址,是一個地址常量。但是在函式
angular---angularJs1.x中select如何遍歷渲染option,陣列與物件、索引使用以及動態非同步渲染option項
1、ng-options指令用途: 在表示式中使用陣列或物件來自動生成一個select中的option列表。ng-options與ng-repeat很相似,很多時候可以用ng-repeat來代替ng-options。但是ng-options提供了一些好處,例如
C/C++語言中變數作用域:區域性變數,全域性變數,檔案級變數
C/C++語言中的變數分為全域性變數和區域性變數。這種劃分方式的依據是變數的可見範圍或者叫做作用域。 1 區域性變數 區域性變數指的是定義在{}中的變數,其作用域也在這個範圍內。雖然常見的區域性變數都是定義在函式體內的,也完全可以人為的增加一對大括號來限定變
C語言中的常量、變數及其屬性,型別、儲存空間
部落格源地址 http://www.codertown.cn/blog/?p=134 常量和變數其實就是C語言裡的值,其他程式語言同樣存在,這個跟數學裡的是一樣的。 1、常量 固定的值,不可改變的值是常量,幾種型別: 在表示式中直接用數值表示;巨集定義當然也是
c++ 11中emplace_back替代push_back的相關知識點,含右值引用,move用法等
C++11引入了右值引用,轉移建構函式,push_back()右值時就會呼叫建構函式和轉移建構函式(原來是呼叫拷貝構造,會為臨時變數申請堆空間,影響程式效率,C++11以後為右值引用呼叫轉移建構函式,不會為臨時變數申請堆空間,而是直接賦值,提高程式效率)。 使用mplace_back替代push_back()
C語言中到底是應該用malloc+memset,還是用calloc
有一些老的博文裡會推薦別人用malloc+memset來開闢記憶體和初始化,認為calloc效率更低。如果是單純的malloc和calloc的比較,毋庸置疑,calloc肯定是效率更低的,畢竟calloc多做了一步記憶體的初始化。但是malloc+memset和calloc的
html中select的option自定義屬性,然後js 獲取
1、 <select id="mySelect" onchange="selectTurnToUrl(this)" class="form-control" style="height: 24px; line-height: 24px; padding: 0 12p
element-ui中select元件繫結值改變,觸發change事件
1.安裝vuecli腳手架 2.終端輸入 cnpm i element-ui -S 安裝element-ui 3.按需引入select元件 在main.js中寫入如下程式碼 /* 匯入第三方庫開始 */ import 'element-ui/
用C語言中的函式列印乘法口訣表,行數和列數可以任意輸入
#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> void print_table(int line) { int i = 0;
用 Span 對 C# 程序中三大記憶體區域進行統一訪問 ,太厲害了!
## 一:背景 ### 1. 講故事 前段時間寫了幾篇 C# 漫文,評論留言中有很多朋友多次提到 Span,週末抽空看了下,確實是一個非常
樹結構中的節點增刪改操作後,排序碼的重新設定
package com.naydog.sort.bysortkey; import java.util.ArrayList; import java.util.List; /** * 目的:樹結構中一個節點下的子節點非自然排序,而是按照排序碼。當發生節點增
c# DataTable select 過濾返回新DataTable
DataRow[] dr = dt.Select(“col='XXXX'”);//條件:就是欄位名='某某' /// 執行DataTable中的查詢返回新的DataTable /// </summary>