你在itemdatabound转换成绑定按钮,在编辑按钮种放入3个textbox就可以,每个textbox分别绑定年月日就可以了,其他的编辑功能一样

解决方案 »

  1.   

    <ItemTemplate>
    <%#DataBinder.Eval(Continer.DataItem,"字段名")%>
    </ItemTemplate>
    <EditItemTemplate>
    <nobr>
    <asp:TextBox Runat="server" Width="30px" Text='<%#((DateTime)DataBinder.Eval(Continer.DataItem,"字段名")).Year.ToString()%>'></asp:TextBox>年
    <asp:TextBox Runat="server" Width="30px" Text='<%#((DateTime)DataBinder.Eval(Continer.DataItem,"字段名")).Month.ToString()%>'></asp:TextBox>月
    <asp:TextBox Runat="server" Width="30px" Text='<%#((DateTime)DataBinder.Eval(Continer.DataItem,"字段名")).Date.ToString()%>'></asp:TextBox>日
    </nobr>
    </EditItemTemplate>
      

  2.   

    string d=DateTime.Now.ToString("yyyy-MM-dd");
    string [] date =d.Split('-');
    this.TextBox1.Text=date[0];
    this.TextBox2.Text=date[1];
    this.TextBox3.Text=date[2];
      

  3.   

    我知道怎么变成相应的编辑状态,可是不知道怎么转变形式dbx() 可以说一下怎么转换吗?
      

  4.   

    我是怎么写的,可是为什么第2,3页的时候日期就不边,还是第一页的值
    protected void OnItemDataBound(object sender, DataGridItemEventArgs e)
    {

    DataSet ds = ReadStudent();
    if (e.Item.ItemType ==ListItemType.Item ||  e.Item.ItemType ==ListItemType.AlternatingItem )
    {
    e.Item.Cells[2].Text = changeBirth(ds.Tables[0].Rows[e.Item.ItemIndex]["csrq"].ToString()); LbDelete=(LinkButton)(e.Item.FindControl ("lbtnDelete"));//lblBirth
    LbDelete.Attributes.Add("onclick", "return confirm('确定要删除该学生信息吗?');");
    //lblBirthOfDay = (Label)(e.Item.FindControl("lblBirth"));
    }
    private string changeBirth(string strBirth)
    {
    string[] aa = new string[3];
    string str = ""; for(int i=0;i<strBirth.Split('-').Length;i++)
    {
    aa[i] = strBirth.Split('-')[i];
    }

    str = aa[0]+"年"+aa[1]+"月"+aa[2]+"日";
    return str;

    }
      

  5.   

    谢谢各位我的问题解决了。是用sql解决的!