2012-03-08 3 views
0

私は、XMLファイルからデータを読み込むことでいっぱいになるdatagridviewを持っています。 datagridviewには、module、description、deadline、およびpriorityという列があります。 期限列の形式は次のとおりです。 2012年2月12日にXMLファイルに文字列として保存されます。2 datetimepickers間のdatagridview期限行のフィルタ

私はDGVの次に2つのdatetimepickers - startDateとendDateを持っています。

ユーザは、開始日と終了日を選択してから、フィルタボタンを押します。 DGVがこれを行うと、期限列が開始日と終了日の間にある行のみが表示されます。

これは比較的簡単だと思っていましたが、私は変換に問題があると思います。 フィルタボタンを押すと、else文が開始されます。

これは私が今までに持っているコードですが、ごめんなさい。

private void scheduleButton_Click(object sender, EventArgs e) 

    { 

    DateTimePicker startDate = new DateTimePicker(); 
     DateTimePicker endDate = new DateTimePicker(); 
     String startDateConverted = Convert.ToString(startDate.Value); 
     String endDateConverted = Convert.ToString(endDate.Value); 

     foreach (DataGridViewRow dr in TaskTable2.Rows) 
     { 
      String deadlineRow = dr.Cells["Deadline"].Value.ToString(); 
      if (startDateConverted<= deadlineRow && deadlineRow<= endDateConverted) 
      { 
       MessageBox.Show("Display Row"); // display filtered rows here. 
      } 
      else 
      { 
       MessageBox.Show("Please ensure start date is set before end date and that there is a task saved between the dates you selected."); 
      } 
     } 
    } 

ifステートメントのコードは、フィルタリングされた行を表示するものでなければなりませんが、コード化する方法もわかりません。

誰かが私のコードを修正し、これを修正するのを助けることができれば、非常に感謝しています。あなたのための

答えて

1

if(starttime<= deadline && deadline<= endtime) 
+0

感謝のために私にあなたのコードを与える動作しない場合

、私が編集した声明 – Rob

+0

私はまだ別の日付を比較するのに問題がある場合。開始日と終了日は日時形式であり、何らかの理由で両方とも現在時刻の値を持ちます。開始日と終了日を比較する必要があるDeadlineRowは、 '2012年3月12日'などの形式の文字列です。3つの日付をどのように比較できるかについてのアイデアは何ですか? – Rob

+0

DateTime.Nowと比較し、ここからロジックを派生させますか? – Andrew

0

は MessageBox.Show( "表示行")を交換する場合、

と MessageBox.Show(dr.ToString());それはTaskTable2

関連する問題