Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > .NET для новичков > не дать пользователю зайти на ячейку


Автор: NilovSerge 12.11.2007, 23:20
Всем привет! У меня 2 вопроса по dataGridView:
1)У меня есть dataGridView с картинкой в первой колонке. Я хочу чтобы пользователь не мог выделить эту ячейку.
Делаю так: 

Код

   private void ClientsGridView_CellEnter(object sender, DataGridViewCellEventArgs e)
    {
      if (e.ColumnIndex == 1 & this.ClientsGridView.Focused)
      {
        this.ClientsGridView.CurrentCell = this.ClientsGridView[e.ColumnIndex+1, e.RowIndex];
      }
 
    }

И получаю ошибку :
Operation is not valid because it results in a reentrant call to the SetCurrentCellAddressCore function.

В чем проблема и как это исправить?


2)У меня в dataGridView есть поле ДатаВремя из базы MsSql.
Если я ставлю dataGridView.AutoGenerateColumns = true; то это поле нормально отображается строкой с 
учетом региональных установок. Но у меня  dataGridView.AutoGenerateColumns = false; и столбцы я создаю сам:


Код

   DataGridViewTextBoxColumn NewTextBoxColumn = new DataGridViewTextBoxColumn();
   NewTextBoxColumn.ValueType = typeof(System.DateTime);
   NewTextBoxColumn.Name = DataPropertyName;
   NewTextBoxColumn.DataPropertyName = DataPropertyName;
   NewTextBoxColumn.HeaderText = HeaderText;
   NewTextBoxColumn.ReadOnly = true;
   NewTextBoxColumn.Width = 150;
   NewTextBoxColumn.Frozen = false;
   NewTextBoxColumn.Visible = true;
  
   dataGridView.Columns.Add(NewTextBoxColumn);


И я получаю в гриде что данный столбец не отображается. Все остальные колонки (не датаВремя - отображаются нормально)
Смотрю в отладчике: в коллекции Columns мое поле есть - в гриде лн не отображается.
Я не указал какие-то свойства создаваемого поля? Какие?



   Заранее спасибо


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)