在DataGrid中放了两个TextBox来填写时间(tb1 开始时间;tb2 结束时间).如下所示:
姓名     开始时间      结束时间
张三    2006-2-1      2006-2-5
张三    2007-3-4      2007-3-9
张三    2008-3-4      2008-3-9我怎么样才能控制每次输入的时间都比前一个时间大呢?

解决方案 »

  1.   

    timespan类,我也碰到过的,比较时间也就那玩意
      

  2.   

    public void tb2_TextChanged(object sender, System.EventArgs e)
      {
       TextBox tb2= (TextBox)sender;                      
       TableCell cell = (TableCell)tb2.Parent;
       DataGridItem item = (DataGridItem)cell.Parent;
       string strtb2= tb2.Text.ToString(); // 取出tb2中的文本
       string strtb1= item.FindControl("tb1");//取出对应行tb1中的文本
       .....
       时间比较.....
       (顺便提议下用时间控件比较好)
      }
      

  3.   

    tianwai112(星星之火) 可能误会说的意思了.
    我所说的第二次输入的时间是指重新开始一行的(开始和结束时间).与以前录入的开始时间和结束时间相比较哈.
      

  4.   

    select datagrid 中最大的时间t1,新输入的时间t2
    if datetime.compare(t1,t2)>=0 then
    t2太大
    else
    正好
    end if
      

  5.   

    public void TextBox_TextChanged(object sender, System.EventArgs e)
      {
       DataTime maxTime;  //获得最大时间
       foreach(DataGridItem dgc in DataGrid.Items)
       {
              
        TextBox txt = (TextBox)dgc.FindControl("tb2");
         t1 = DateTime.Parse(txt.Text.Tostring());
         t2 = ............
         if(maxTime == null)
         {
             maxTime = t1
         }
         if datetime.compare(t1,maxTime )>=0 
         {
         maxTime = t1;
          }
         if datetime.compare(t2,maxTime )>=0 
         {
         maxTime = t2;
         }
       }
       时间比较(maxTime与输入新时间).....
        
      }