Позволяет редактировать один столбец, но не другой - PullRequest
7 голосов
/ 05 октября 2011

У меня есть приложение asp.net c #.

у моего gridview есть источник данных, который имеет 2 поля.

1 поле не может быть отредактировано пользователем, но мне нужно, чтобы другое поле было редактируемым!

это можно сделать?

Ответы [ 3 ]

22 голосов
/ 05 октября 2011

Установите свойство ReadOnly="true" на все, что вы не хотите редактировать.

Взгляните на http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.boundfield.readonly.aspx

Быстрый пример с этой страницы

<asp:gridview id="CustomersGridView" 
    datasourceid="CustomersSqlDataSource" 
    autogeneratecolumns="false"
    autogenerateeditbutton="true"
    allowpaging="true" 
    datakeynames="CustomerID"  
    runat="server">

    <columns>
      <asp:boundfield datafield="CustomerID" readonly="true" headertext="Customer ID"/>
      <asp:boundfield datafield="CompanyName" readonly="true" headertext="Customer Name"/>
      <asp:boundfield datafield="Address" headertext="Address"/>
      <asp:boundfield datafield="City" headertext="City"/>
      <asp:boundfield datafield="PostalCode" headertext="ZIP Code"/>
    </columns>
</asp:gridview>

В этом случае CustomerID и Название компании доступны только для чтения и не могут быть изменены. Адрес , Город и Индекс можно редактировать.

Просто установите для параметра ReadOnly значение true для столбцов, которые вы не хотите, чтобы люди редактировали. Столбцы, для которых этот параметр не установлен или для параметра ReadOnly установлено значение false, могут редактироваться пользователем в режиме редактирования.

3 голосов
/ 27 февраля 2013

Если вы используете SqlDataSource, вы должны обязательно удалить столбцы для обновления из UpdateCommand в SqlDataSource, если нет, у вас возникнет проблема при обновлении полей

2 голосов
/ 05 октября 2011

Вы должны иметь возможность установить ReadOnly на DataGridViewCell.

http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridviewcell.readonly.aspx

gridView.Rows[rowIndex][colName].ReadOnly = true;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...