2012-01-02 6 views
1

데이터 집합에 '날짜'열이 있습니다. 이 열을 현재 날짜로 필터링하고 싶습니다. 오늘 (현재 날짜)에 대한 모든 주문을 표시하고 싶습니다. 현재 날짜로 데이터 집합 필터링

나는 이것을 시도했지만 작동하지 않습니다 :

DataSet ds = new DataSet(); 
ds.ReadXml("C:\\sites.xml"); 

dataGridView1.DataSource = ds.Tables[0]; 

this.dataGridView1.Columns[1].Visible = false; 

//filter 
ds.Tables[0].DefaultView.RowFilter = "date = '" + DateTime.Now.ToString() + "'"; 

XML 파일 :

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<sites xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
    <site technical="1"> 
     <name>brian</name> 
     <url>www.microsoft.com</url> 
     <date>01/02/2012</date> 
    </site> 
    <site technical="2"> 
     <name>Mike</name> 
     <url>www.news.com</url> 
     <date>01/02/2012</date> 
    </site> 
    <site technical="3"> 
     <name>leslie</name> 
     <url>www.cnet.com</url> 
     <date>02/01/2012</date> 
    </site> 
    <site technical="4"> 
     <name>rebeca</name> 
     <url>www.gamespot.com</url> 
     <date>01/01/2012</date> 
    </site> 
    <site technical="5"> 
     <name>jenifer</name> 
     <url>www.google.com</url> 
     <date>02/01/2012</date> 
    </site> 
</sites> 
+1

"작동하지 않습니다."사람들이 생각하는만큼 많은 정보를 제공하지 않습니다. 오류 일 경우 메시지를 제공하십시오. 예상치 못한 결과 인 경우 그 내용과 예상 내용을 알려주십시오. –

+0

오류 메시지가 표시되지 않았으며 filter.Perhaps XML 파일 일 때 내 열이 datagridview에 비어 있습니다. – user1112847

답변

2

을 대신 아포스트로피 '# 숫자 기호 을 사용해야합니다.
이 시도 :

ds.Tables[0].DefaultView.RowFilter = "date = #" + DateTime.Now.ToString() + "#"; 

소스 : http://www.csharp-examples.net/dataview-rowfilter/

UPDATE : 당신의 XML 레코드에서 날짜에

베이스와 형식 일 "MM/DD/YYYY"

ds.Tables[0].DefaultView.RowFilter = "date = #" + DateTime.Now.ToString("MM/dd/yyyy") + "#"; 
+0

작은 따옴표는 #의 속도로 사용할 수 있습니다. – adatapost

+0

# ... datagridview와 동일한 것 – user1112847

+0

"date>"또는 "date <"를 넣으면 코드가 작동하지만 date =를 넣지 않으면 작동합니다. 나는 문제가 = 왜 ...라고 생각하니? – user1112847

0
ds.Tables[0].DefaultView.RowFilter = "date = #" + DateTime.Now.ToString() + "#"; 
관련 문제