为了账号安全,请及时绑定邮箱和手机立即绑定

GridViewColumn 编辑时只读

GridViewColumn 编辑时只读

C#
qq_花开花谢_0 2022-06-12 15:01:36
我有一个带有一些数据的网格视图,并且每一行都可以编辑数据,所以他们看到的是 EditTemplateField 而不是 templateField。现在具有特定职位的用户应该无法编辑列任务名称。我第一次尝试是这样的:protected void gvSubtasks_RowEditing(object sender, GridViewEditEventArgs e)        {            GridView gv = sender as GridView;            gvSubtasks.Columns[0].ReadOnly= true;            gv.EditIndex = e.NewEditIndex;            BindGridView();        }但它没有找到只读属性。后来我这样尝试:   protected void gvSubtasks_RowEditing(object sender, GridViewEditEventArgs e)    {        GridView gv = sender as GridView;        gv.EditIndex = e.NewEditIndex;        BindGridView();        foreach (GridViewRow row in gvSubtasks.Rows)        {            TextBox txtTaskName = row.Cells[0].FindControl("txtTaskName") as TextBox;            if (IsRightUserPosition()){                txtTaskName.Enabled = true;            }            else            {                txtTaskName.Enabled = false;            }        }    }但它没有找到文本框。
查看完整描述

1 回答

?
慕盖茨4494581

TA贡献1850条经验 获得超11个赞

您需要将 Readonly 属性设置为 true :


((BoundField)gridView1.Columns[columnIndex]).ReadOnly = true;

您可以尝试在 gridView1 的 RowDataBound 事件中执行此操作


尝试在编辑模板中使用标签。


C#:


protected bool ShowButton(object DataItem)

{

    //Here you can place as many conditions as you like 

    //Provided you always return either true or false

    if (Put Access condition here)

        return true;

    else

        return false;

}

HTML 代码:


    <Columns>

            <asp:TemplateField>

                <ItemTemplate>

                        <asp:Label ID="lbldate" runat="server" Visible='<%# ShowButton(Eval("Process")) %>'></asp:Label>

                </ItemTemplate>

                <EditItemTemplate>

                        <asp:Label ID="lbldate" Visible='<%# ShowButton(Eval("Process")) %>' runat="server" ></asp:Label>

                        <asp:TextBox ID="lbldate" Visible='<%# ShowButton(Eval("Process")) %>' runat="server" ></asp:Label>

                </EditItemTemplate>

            </asp:TemplateField>    

    </Columns> 


查看完整回答
反对 回复 2022-06-12
  • 1 回答
  • 0 关注
  • 204 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信