GridView控件只让某列可以编辑,并在后台获取值的方法

GridView控件只让某列可以编辑,并在后台获取值的方法

需求是这样的:
在这里插入图片描述
使用GridView绑定数据源显示数据,然后其中的价格和报价总数要窗体一加载就是编辑模式,并且修改里面的值点击保存更改可以成功修改数据库中对应的字段。

一开始我想的是使用GridView自带的RowEditing:开始编辑事件,后台代码是这样的:

protectedvoidGridView1_RowEditing(object sender,GridViewEditEventArgs e)
{
   
  GridView1.EditIndex = e.NewEditIndex;// 设置开启编辑bind();                  		// 重新绑定 GridView
}

e.NewEditIndex是将列索引传递到后台(从0开始),这样就能实现编辑效果,但是需求是窗体一加载就要实现编辑状态,而且是所有行的某两列都要实现编辑状态,使用GridView1.EditIndex只能实现一行的编辑状态,可以控制那两列,只需要将不用编辑状态的列隐藏:控件名.Rows[e.NewEditIndex].Cells[列].Enabled = false;

显然在这里不能用控件自带的编辑方法去实现效果,那么这个时候就轮到模板列出场了,话不多说,直接看代码:
前台代码:

        <asp:Button ID="btnSave" runat="server" Text="保存更改"  OnClick="btnSave_Click"  />
        <asp:GridView ID="GridView1" runat="server">
            <Columns>
                <asp:BoundField DataField="SaleOrderDetailID" HeaderText="明细编号" ReadOnly="true" SortExpression="SaleOrderDetailID" />
                <asp:BoundField DataField="ProductName" HeaderText="产品名称" ReadOnly="true" SortExpression="ProductCode" />
                <asp:BoundField DataField="ProductUnit" HeaderText="单位" ReadOnly="true" SortExpression="ProductUnit" />
                <asp:
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我喜欢南方的夜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值