1

グリッドビュー編集を使用して、グリッドビューにある値を編集しています。編集を押すと、すべての列を編集できます。列の1つを編集できないようにしたいと思います。

これを行う方法はありますか?

これは私のaspxコードです:

<asp:GridView ID="GridView1" runat="server" AutoGenerateDeleteButton="True" 
            onrowdeleting="GridView1_RowDeleting" AutoGenerateEditButton="True" 
            onrowediting="GridView1_RowEditing" 
            onrowcancelingedit="GridView1_RowCancelingEdit" 
            onrowupdating="GridView1_RowUpdating" >
</asp:GridView>

これは私の aspx.cs コードです:

public void loadCustomer()
        {
            SqlConnection objConnection = new SqlConnection("Data Source=localhost;Initial Catalog=SampleApplication;Integrated Security=True");
            objConnection.Open();
            SqlCommand objCommand = new SqlCommand();
            objCommand.CommandText = "Select * from Customer";
            objCommand.Connection = objConnection;
            objCommand.ExecuteNonQuery();
            DataSet objds = new DataSet();
            SqlDataAdapter objadap = new SqlDataAdapter(objCommand);
            objadap.Fill(objds);
            GridView1.DataSource = objds.Tables[0];
            GridView1.DataBind();
            objConnection.Close();
        }
4

4 に答える 4

3

gridView1 の RowDataBound イベント

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

于 2014-02-11T11:57:30.117 に答える
2

私はこれが本当に古いことを知っていますが、私の問題を共有した他の人のためにここに答えを出す必要があります. とにかく、私はこの数日間、ノンストップで苦労しています. 問題が C# で明確に投稿されている場合、誰もが VB のコードを投稿しているようです。

あなたが探しているものは次のとおりです。

   protected void GridView_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        e.Row.Cells[columntobedisabled].Enabled = false;
    }

'columntobeddisabled' は、無効にする列のインデックス番号です。1

于 2014-09-17T12:00:30.057 に答える
-1

"ReadOnly= true"編集したくない列に権限を与える必要があります。

例えば。

GridView1.columns[1].ReadOnly= true;

この行は、GridView の RowDataBound イベントで使用できます。

于 2012-07-20T10:47:48.533 に答える