데이터 테이블을 필터링하려면 어떻게 해야 합니까?
사용자 정보가 포함된 데이터 테이블을 사용하며 이 데이터 테이블에서 사용자 또는 사용자 목록을 검색합니다.해봤는데 안 되네요 :(
내 c# 코드는 다음과 같습니다.
public DataTable GetEntriesBySearch(string username,string location,DataTable table)
{
list = null;
list = table;
string expression;
string sortOrder;
expression = "Nachname = 'test'";
sortOrder = "nachname DESC";
DataRow[] rows = list.Select(expression, sortOrder);
list = null; // for testing
list = new DataTable(); // for testing
foreach (DataRow row in rows)
{
list.ImportRow(row);
}
return list;
}
데이터 보기를 사용할 수 있습니다.
DataView dv = new DataView(yourDatatable);
dv.RowFilter = "query"; // query example = "id = 10"
http://www.csharp-examples.net/dataview-rowfilter/
적어도 .NET 3.5를 사용하고 있다면, 저는 사용하는 것을 제안합니다.Linq-To-DataTable
훨씬 더 읽기 쉽고 강력하기 때문입니다.
DataTable tblFiltered = table.AsEnumerable()
.Where(row => row.Field<String>("Nachname") == username
&& row.Field<String>("Ort") == location)
.OrderByDescending(row => row.Field<String>("Nachname"))
.CopyToDataTable();
위의 코드는 예시일 뿐입니다. 실제로 사용할 수 있는 방법이 더 많습니다.
추가하는 것을 기억하십시오.using System.Linq;
그리고 다음을 위하여.AsEnumerable
확장 방법에 대한 참조System.Data.DataSetExtensions
dll(방법).
사용:
.CopyToDataTable()
예:
string _sqlWhere = "Nachname = 'test'";
string _sqlOrder = "Nachname DESC";
DataTable _newDataTable = yurDateTable.Select(_sqlWhere, _sqlOrder).CopyToDataTable();
때때로 당신은 실제로 a를 반환하고 싶어합니다.DataTable
a보다DataView
.비상대기상태DataView
제 경우에는 좋지 않았고 다른 사람들도 그것을 원할 것이라고 생각합니다.여기 제가 하던 일이 있습니다.
myDataTable.select("myquery").CopyToDataTable()
필터링됩니다.myDataTable
데이터 테이블이며 새 테이블을 반환합니다.DataTable
누군가가 그것이 유용하다는 것을 알기를 바랍니다.
VB.NET에서 일하는 모든 사람들을 위한 (만약의 경우)
Dim dv As DataView = yourDatatable.DefaultView
dv.RowFilter ="query" ' ex: "parentid = 0"
이 작업에는 데이터 보기를 사용하는 것이 좋습니다.
이 게시물에서 확인할 수 있는 사용 예:데이터 보기에서 데이터 필터링 방법
안녕하세요 우리는 ToLower 메서드를 사용할 수 있습니다. 때때로 그것은 필터가 아닙니다.
EmployeeId = Session["EmployeeID"].ToString();
var rows = dtCrewList.AsEnumerable().Where
(row => row.Field<string>("EmployeeId").ToLower()== EmployeeId.ToLower());
if (rows.Any())
{
tblFiltered = rows.CopyToDataTable<DataRow>();
}
언급URL : https://stackoverflow.com/questions/13012585/how-i-can-filter-a-datatable
'programing' 카테고리의 다른 글
그룹별 첫 번째 행 선택 (0) | 2023.06.14 |
---|---|
유형 스크립트를 사용하여 프로토타입 함수 정의 (0) | 2023.06.14 |
반환 *의 결과를 MariaDB에 어떻게 저장합니까? (0) | 2023.06.14 |
부울 만족도에 대한 클래스 스케줄링 [다항식 시간 단축] (0) | 2023.06.14 |
Best way to get application folder path (0) | 2023.06.14 |