Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在asp.net中将gridview列设置为不可编辑_C#_Asp.net_Gridview - Fatal编程技术网

C# 在asp.net中将gridview列设置为不可编辑

C# 在asp.net中将gridview列设置为不可编辑,c#,asp.net,gridview,C#,Asp.net,Gridview,我需要将gridview列设置为不可编辑。我还尝试了((BoundField)gridView1.Columns[columnIndex])。ReadOnly=true; 但它给出了无效索引的错误。 我不知道在哪里使用它。 我在行编辑方法中使用了它 protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e) { OleDbConnection conn; OleDb

我需要将gridview列设置为不可编辑。我还尝试了((BoundField)gridView1.Columns[columnIndex])。ReadOnly=true; 但它给出了无效索引的错误。 我不知道在哪里使用它。 我在行编辑方法中使用了它

protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
    {
        OleDbConnection conn;
        OleDbCommand cmd = new OleDbCommand();
        string path = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\website.mdb;Persist Security Info=False";
        conn = new OleDbConnection(path);
        conn.Open();
        cmd.Connection = conn;
        cmd.CommandText = "select [email],[password] from users";
        OleDbDataAdapter da = new OleDbDataAdapter(cmd);
        DataSet ds = new DataSet();
        da.Fill(ds);
        GridView1.DataSource = ds;
        GridView1.DataBind();
        conn.Close();
        GridView1.EditIndex = e.NewEditIndex;
        GridView1.DataBind();
    }
更新代码:ASPX

<asp:GridView ID="GridView1" runat="server" AllowPaging="True" BackColor="LightGoldenrodYellow" BorderColor="Tan" BorderWidth="1px" Caption="User Info" CaptionAlign="Top" CellPadding="2" Font-Bold="True" ForeColor="Black" GridLines="None" ShowHeader="False" UseAccessibleHeader="False" Width="573px" AutoGenerateDeleteButton="True" AutoGenerateEditButton="True" OnRowCancelingEdit="GridView1_RowCancelingEdit" OnRowDeleting="GridView1_RowDeleting" OnRowEditing="GridView1_RowEditing" OnRowUpdating="GridView1_RowUpdating"></asp:GridView>

试着这样做:-

GridView1.Columns["ColumnName"].ReadOnly = true;

希望有帮助;)

我想这些列已经不可编辑了。当我单击“编辑”时,列是可编辑的,但当我使用((BoundField)GridView1.columns[1])。ReadOnly=true;它给出了一个例外,索引超出了范围。我在上面的代码中使用了这个方法。你可以显示HTMLi只需将值设置为asp.net gridview控件。我必须查看aspx代码,否则我无法检查你的代码索引是否超出了范围。必须为非负数且小于集合的大小。您在
columnIndex
中给出了什么
Index
我给它1。as((BoundField)GridView1.Columns[1]).ReadOnly=true;尝试给出
0
并进行检查。它添加了另一列,让我清楚我正在从数据库生成gridview,我需要通过编程实现这一点