在grideview中加一列textbox(grideview 模板列使用)

一.              grideview中加一列textbox,如图:零售价列

 2011060712403252.png

点击grideview右上角三角形选择编辑模板,从工具箱中拖入一个textbox。生成如下代码:  <asp:GridView ID="GridView1" runat="server">

    <Columns>

         <asp:TemplateField HeaderText="操作">

             <ItemTemplate>

                   <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>                                           </ItemTemplate>

                </asp:TemplateField>

            </Columns>

        </asp:GridView>

将数据库数据绑定到TextBox1:

Text='<%# Eval("retail_price","{0:F2}") %>'

代码变成:

<asp:GridView ID="GridView1" runat="server">

    <Columns>

         <asp:TemplateField HeaderText="操作">

             <ItemTemplate>

                   <asp:TextBox ID="TextBox1" runat="server" Text='<%# Eval("retail_price","{0:F2}") %>'

></asp:TextBox>                                           </ItemTemplate>

                </asp:TemplateField>

            </Columns>

        </asp:GridView>

1EvalBind的区别 

绑定表达式

<%# Eval("字段名") %>

<%# Bind("字段名") %>

 

 

区别 1。eval是只读数据,bind是可更新的.

 

 

2.当对次表达式操作时候,必须用Eval 如<%# Eval("字段名").ToString().Trim() %>

 

2.若GridView中绑定列里面 设置 内容格式 DataFormateString ={0:d} ,则 必须把 属性 HtmlCode 设置为false,否则无法起作用;

 

Eval 单向绑定:数据是只读的

Bind 双向绑定:数据可以更改,并返回服务器端,服务器可以处理更改后的数据,如存入数据库.

 

 

 

----<%# DataBinder.Eval(Container.DataItem,"dateandtime","{0:D}")%> //----2006年10月27日

----<%# DataBinder.Eval(Container.DataItem,"dateandtime","{0:F}")%>//----2006年10月27日 8:31:44

----<%# DataBinder.Eval(Container.DataItem,"dateandtime","{0:G}")%>//----2006-10-27 8:31:44

----<%# DataBinder.Eval(Container.DataItem,"dateandtime","{0:M}")%>//----10月27日

 

 

-<%# DataBinder.Eval(Container.DataItem,"dateandtime","{0:R}")%>//----Fri, 27 Oct 2006 08:31:44GMT

----<%# DataBinder.Eval(Container.DataItem,"dateandtime","{0:T}")%>//----8:31:44

----<%# DataBinder.Eval(Container.DataItem,"dateandtime","{0:U}")%>//----2006年10月27日 0:31:44

----<%# DataBinder.Eval(Container.DataItem,"dateandtime","{0:Y}")%>//----2006年10月】

用户修改零售价后,就应该将零售价再记录到数据库:(思路: 循环判断GRID里的模板检查ID textbox1 的文本框控件!然后 把里面的文本复制到字符串A里面!)

后台代码如下:

  for (int i = 0; i < this.materiel_gvw.Rows.Count; i++)

  {

            TextBox T = (materiel_gvw.Rows[i].FindControl("TextBox1")) as TextBox;

            money =Convert.ToDecimal(T.Text);

            int materiel_id = Convert.ToInt32(GridView1.DataKeys[i].Value.ToString());

             materielBLL.Update(money, materiel_id, store_id, out error_message);

}

这样,数据就更新到数据库啦~

转载于:https://www.cnblogs.com/oY211/archive/2011/06/07/2074231.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值