我想在DataGrid里边使用TextBox来绑定数据,怎么做才能对里边的数据进行格式化?
另外,当设置DataGrid行为随鼠标变色时,TextBox的背景怎么做才能跟着变色呢,
不能保持一致的话,好象有点别扭。
请各位路过的高手同行帮忙呀!

解决方案 »

  1.   

    TextBox.Text= 格式化后的字符串
      

  2.   

    eg:
    <ItemTemplate>
    <asp:textbox text='<%#Container...DataBinder.Eval(Container.DataItem,"一个日期字段","{0:yyyy-M-d}")%> ' runat="server"/>
    <ItemTemplate>
      

  3.   

    谢谢xiahouwen(武眉博<活靶子.NET>) 大哥!
    假如不用DataBinder.Eval,直接用Container.DataItem呢,对不同的类型来说,比如DateTime,int,string这几个,应该如何格式化呢?
      

  4.   

    <asp:datagrid id="DataGrid1" runat="server"  AllowPaging="True"
     BorderColor="#DEBA84" CellSpacing="1" BorderWidth="1px" BackColor="White"
    CellPadding="3" PageSize="30" AutoGenerateColumns="False" OnItemDataBound="aa_ItemDataBound" OnPageIndexChanged="DataGrid1_PageIndexChanged">
                            <Columns>
                                <asp:TemplateColumn>
                                    <ItemStyle HorizontalAlign="right" />
                                    <ItemTemplate>
                                        <asp:TextBox ID="textbox1" runat="server" Text='<%#((DataRowView)Container.DataItem)["id"]%>' BorderStyle="None"></asp:TextBox> 
                                    </ItemTemplate>
                                    <HeaderTemplate>
                                        AAA
                                    </HeaderTemplate>
                                    <HeaderStyle HorizontalAlign="center" />
                                </asp:TemplateColumn>
                                <asp:TemplateColumn>
                                    <ItemTemplate>
                                        <asp:TextBox ID="textbox2" runat="server" BorderStyle="None" Text='<%#((DataRowView)Container.DataItem)["name"]%>'></asp:TextBox> 
                                    </ItemTemplate>
                                    <HeaderTemplate>
                                        BBB
                                    </HeaderTemplate>
                                </asp:TemplateColumn>
                            </Columns>

    </asp:datagrid>
      

  5.   

    private void DataGrid1_ItemCreated(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
      if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
      {
        e.Item.Attributes["onmouseout"] = "javascript:this.className='" + this.DataGrid1.ItemStyle.CssClass + "'";
      }
      else
      {
        e.Item.Attributes["onmouseout"] = "javascript:this.className='" + this.DataGrid1.AlternatingItemStyle.CssClass + "'";
      }
      e.Item.Attributes["onmouseover"] = "javascript:this.className='XXXX'";
    }