Модераторы: gambit, Partizan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> DataGridView scroll, DataGridView scroll problem 
V
    Опции темы
atas
Дата 23.5.2008, 20:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 17.5.2007

Репутация: нет
Всего: нет



Всем привет!

 Подскажите пожалуйста, у меня проблема с dataGridView неотображаются скрулы. на форме dataGridView не помешен ни в какой контейнер (panel и т.п.). 


события на загрузку формы (Была попитка активироват скрул в ручную и через свойства):


Код


private void clients_Load(object sender, EventArgs e)
        {
            this.WindowState = FormWindowState.Maximized;

          
            foreach (DataGridViewColumn column in dataGridView1.Columns)
            {
                column.Frozen = false;
            }
          
           this.dataGridView1.ScrollBars = ScrollBars.Both;

        
           dataGridView1.FirstDisplayedScrollingRowIndex = dataGridView1.Rows[dataGridView1.RowCount - 1].Index;

           this.dataGridView1.Controls[0].Enabled = true;
           this.dataGridView1.Controls[1].Enabled = true;
           this.dataGridView1.Refresh();
         
        }





Свойства dataGridView  установлены в:

AutoSizeColumnsMode = ColumnHeader
AllowUserToAddRows = false
ColumnHeadersHeightSizeMode = AutoSize
Dock = Fill
MaltySelect = false
ReadOnly = True
SelectionMode = FullRowSelect

осталные свойства по умолчанию

Добавление новых рядов программно.

Спасибо

PM MAIL   Вверх
Linus
Дата 24.5.2008, 22:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 129
Регистрация: 13.8.2006
Где: Украина

Репутация: 3
Всего: 4



При тех установках, что Вы привели, всё должно работать. Возможно Вы в дизайнере выставили ещё какие-то свойства? Может AutoSizeColumnMode там в Fill, или ещё что-то?
PM MAIL ICQ   Вверх
atas
Дата 25.5.2008, 02:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 17.5.2007

Репутация: нет
Всего: нет



Linus спасибо что Вы ответили, но у меня AutoSizeColumnsMode = ColumnHeader как я и писал выше, я попробывал разные варианты с этим свойством, скрул не появлялся.

 Будут другие идеи?  Спасибо.
PM MAIL   Вверх
Linus
Дата 25.5.2008, 14:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 129
Регистрация: 13.8.2006
Где: Украина

Репутация: 3
Всего: 4



Попробуйте выкинуть грид из формы и кинуть его опять из ToolBox, проделать те же операции, что Вы писали в 1-м посте. По крайней мере у меня отлично заработало. Либо, если не сложно, скиньте проект с этой формой сюда, чтоб можно было поглядеть smile
PM MAIL ICQ   Вверх
atas
Дата 25.5.2008, 19:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 17.5.2007

Репутация: нет
Всего: нет



Linus спасибо Вам за участие.
  Грид выкидивал из формы, а новый с тулбара вставлял, и настраивал все выше перечисленные свойства, но скрул НЕ появился.

Прикрепляю проект с формой(Clients) где не работает скрул у грида. Скрул правда у меня нигде не работает, но для этой формы это особенно критично.

Database - MS SQL Express

Смотреть форму с гридом через меню:
M.A.J. Maitres -> Mises a joure -> Clients

Архив разбил на три части так как Максимальный размер прикрепляемого файла 1мб

Спасибо

Присоединённый файл ( Кол-во скачиваний: 5 )
Присоединённый файл  bs_for_forum_scroll_problem.part1.rar 878,91 Kb
PM MAIL   Вверх
atas
Дата 25.5.2008, 19:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 17.5.2007

Репутация: нет
Всего: нет



Архив часть вторая:


Присоединённый файл ( Кол-во скачиваний: 5 )
Присоединённый файл  bs_for_forum_scroll_problem.part2.rar 878,91 Kb
PM MAIL   Вверх
atas
Дата 25.5.2008, 19:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 17.5.2007

Репутация: нет
Всего: нет



Архив част третья



Присоединённый файл ( Кол-во скачиваний: 5 )
Присоединённый файл  bs_for_forum_scroll_problem.part3.rar 491,54 Kb
PM MAIL   Вверх
Linus
Дата 26.5.2008, 09:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 129
Регистрация: 13.8.2006
Где: Украина

Репутация: 3
Всего: 4



atas, всё у Вас работает, просто у грида Вы выставили Dock = Fill, после чего у panel2 выставили Dock = Bottom. Таким образом, у Вас panel2 перекрывает нижнюю часть грида, и Вы не видите нижний скроллбар. Проблему можно решить, к примеру, якорями или сплиттером.

P.S. Извините, может не туда  лезу, но, возможно, Вам стоит поглядеть на ORM (например, NHibernate), чтобы облегчить разработку DataLayer. 

P.P.S. Если уж совсем не хотите использовать ORM, то к хранимкам проще обращаться так:

Код

SqlCommand sqlCommand = new SqlCommand("StoredProcName", connection);
sqlCommand.CommandType = CommandType.StoredProcedure;
sqlCommand.Parameters.Add("SomeID", SqlDbType.Int).Value = 5;
sqlCommand.Parameters.Add("SomeValue", SqlDbType.Int).Value = 10;

//Если ХП вернёт значение (например, при вставке, SELECT @SomeID = @@IDENTITY)
sqlCommand.Parameters.Add("SomeDBColumn", SqlDbType.Int);
sqlCommand.Parameters["SomeDBColumnid"].Direction = ParameterDirection.Output;

sqlCommand.Parameters.Add("session", SqlDbType.NVarChar, 17).Value = "SomeString";
...
connection.Open();

int result = sqlCommand.ExecuteNonQuery();


Это сообщение отредактировал(а) Linus - 26.5.2008, 09:16
PM MAIL ICQ   Вверх
atas
Дата 26.5.2008, 14:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 17.5.2007

Репутация: нет
Всего: нет



Linus спасибо, все заработало.

 это мой первый проект на WinForms, поэтому попадаются вот такие ошибки. И архитектуру надо дорабатывать (исползовать тот же ORM). Сейчас стою перед выбором НХибернат или LINQ.

PM MAIL   Вверх
Linus
Дата 26.5.2008, 16:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 129
Регистрация: 13.8.2006
Где: Украина

Репутация: 3
Всего: 4



Ну LINQ - это не ORM. Тем более NHibernate можно использовать вместе с LINQ. Можно один раз написать хороший слой доступа к данным и забыть о том, что такое многосчисленные хранимые процедуры с дублирующимся кодом для каждой операции вставки/обновления/выборки на сервере. Хотя и некоторые минусы в этом подходе есть.
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка Windows Forms | Следующая тема »


 




[ Время генерации скрипта: 0.0467 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.