1

プロジェクトにASPRadControlsを使用しています。会計年度に基づいてMinDateとMaxDateを設定する方法を知りたいです。次のコードを試しましたが、最小値と最大値をdatepickerに設定する方法がわかりません。親切に私を助けてください。

     string finyear = ViewState["FIN_YR"].ToString();//viewstate["FIN_YR"]="1112"
     string pr = finyear.Substring(0, 2);//pr="11"
     string pr1 = "20";
     string year1 =pr1+pr;//year1="2011"
     int firstyear = Convert.ToInt32(year1);
     string pa = finyear.Substring(2, 2);//pa="12"
     string year2 = pr1 + pa;//year2="2012"
     int Secondyear = Convert.ToInt32(year2);
     dtpRemitDate.MinDate = System.DateTime.Parse("firstyear/4/1");

私はこのように試しましたがSystem.DateTime.Parse("int,int,int");、受け入れられるだけです。min Dateをdatepickerに設定するにはどうすればよいですか?

4

1 に答える 1

4

まず、文字列操作をはるかに少なくしようとします。必要なのは2つだけのようです:

  • 暗黙の「2000」ベースで最小年を解析する
  • 暗黙の「2000」ベースで最大年を解析する

と に基づいて残りを実行しDateTimeますint

string financialYearText = ViewState["FIN_YR"].ToString();
int minYear2Digits = int.Parse(financialYearText.Substring(0, 2));
int maxYear2Digits = int.Parse(financialYearText.Substring(2, 2));
dtpRemitDate.MinDate = new DateTime(minYear2Digits + 2000, 4, 1);
dtpRemitDate.MaxDate = new DateTime(maxYear2Digits + 2000, 4, 1);

これは、常に2000 年に基づいていることを前提としています。たとえば、1987 年と 1988 年を意味する「8788」などの「古い」レコードがある場合は、もう少し作業が必要です。

于 2012-08-01T05:55:52.607 に答える