2010-01-14 3 views

답변

1

에 그쪽으로 DataGridView.DataSource을 설정할 수 있습니다

SELECT * FROM (
    SELECT TOP 10 * FROM (
    SELECT TOP 20 * FROM MyTable ORDER BY MyID ASC 
) AS NewTbl ORDER BY MyID DESC 
) AS NewTbl2 ORDER BY MyID ASC 

이 레코드 11-20를 선택합니다. 당신이 기록을 6-15을 선택합니다 단지 15
(20) (20)을 변경하면 "선택 마지막 레코드"이며 (10)는 귀하의 코멘트 후 이전과 최대 20

편집 (레코드 수있다

// change Skip to 10 to page through 
var filtered = mydatasource.Skip(0).Take(10); 

이것은 당신이 당신의 SQL 데이터를 반환 한 가정 : 당신은 당신이 LINQ와 소스를 필터링 할 수있는 C 번호의 최신 버전을 사용하는 경우

var newDS = new DataSet(); 
newDS.Tables.Add(oldDSWithAllRows.Tables["YourTableName"].Clone()); 

foreach (DataRow myDataRow in oldDSWithAllRows.Tables["YourTableName"].Rows) 
{ 
    if (/* Your criteria */) 
    { 
    newDS.Tables["YourTableName"].ImportRow(myDataRow); 
    } 
} 

myDataGridView.DataSource = newDS; 
+0

위의 코드를 C#으로 번역 할 수 있습니까? 내가 vb.net –

+0

위의 코드에 익숙하지 않은 나는 것은 내가 초보자 및 foreach는 (oldDSWithAllRows에서의 DataRow myDataRow 같은 문장에 따라서 익숙하지 않다 ... –

+0

C 번호입니다.행) 그래서 가능하다면 그 문장이 내 자신의 방식으로 해보기 위해 무엇을하는지 단어로 설명 할 수 있습니다. thx 사전에. –

1

선택 당신이 원하는에만 10 개 개의 레코드. SQL에서

TOP 절 사용

SELECT TOP 10 * FROM myTable 
+0

을, 난, DataSet 개체는 전체 테이블의 내가있는 10 개 개의 레코드를 먹고 싶어이 DataSet 개체에서 구성해야 특정 조건에 따라 데이터 뷰 그리드에 넣습니다. –

+0

당신은 데이터 집합/DataTable을 직접 할 수 없어. – Oded

0

사용을 DataTable.Select

사용하십시오 RowFilter

dataSet1.Tables[0].Select("Id>5"); 

또는 더 나은, DataView, 예를 here

당신은 당신이 같은 쿼리를 작성할 수있는이 DataView

0

: 데이터 집합의 모든 행)을 갖는 약

this.GridView1.DataSource = dt.AsEnumerable().Take(10); 
this.GridView1.DataBind(); 

:하지만 다음했다면 이 작동 할 수 있습니다 - 추가 IEnumerable<T>

+0

나는 시각적 인 스튜디오 2005를 사용하고있다. 그래서 나는 추측한다, 거기에서 구현할 수 없을 것이다. –

0

한다고 가정으로 우리는 당신이 그리드이 방법을 결합 할 수

DataTable dt = new DataTable(); 
int counter = 1; 
dt.Columns.Add("ID"); 
dt.Columns.Add("Name"); 
for (int i = 1; i <= 20; i++) 
{ 
DataRow dr = dt.NewRow(); 
dr["ID"] = i; 
dr["Name"] = string.Format("Name{0}", i); 
dt.Rows.Add(dr); 
} 

다음과 같은 테이블이 두 된 템플릿의 gridview 에 필드 - 추가 페이지 뒤에 코드에 다음과 같은 기능 :

,635,

편집의 gridview의 필드의 데이터 바인딩이 방법 바인딩 : 실제로

GetColumnValue(Container.DataItem,"ID") //for the first Field 
GetColumnValue(Container.DataItem,"Name") //for the second field 
관련 문제