Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Разработка Windows Forms > Как поступить:перекрывать,зановов создавать, или м |
Автор: NikeDeForest 14.9.2009, 16:52 |
Есть оснвоной dataGridView, в нем отображается табличные данные. Тип таблиц около 5. Вот вопрос как быть. Можно создать заранее 5 Гридов, каждый настроенный под опред тип таблиц. И соотвественно при выводе опред таблицы делать этот Грид видимым, а остальные наоборот. Второй вариант, это все время редактировать один грид, удаляя и создаая зановов столбцы под таблицы. Третий вариант — гасить весь Грид, наверное бессмысленный самый. На чем остановиться? Столбцов в среднем от 10 до 15 |
Автор: diadiavova 14.9.2009, 19:58 |
Если все таблицы в одном DataSet, то cdjqcnde Datacource грида надо присвоить этот DataSet, а свойству DataMember присваивать имя нужной таблицы. Если таблицы берутся из разных мест, то свойству DataSource присваивать нужную таблицу по необходимости. |
Автор: NikeDeForest 15.9.2009, 10:15 |
Автогенерация выключена, потому что надо чтобы по краям были два столбца с кнопками. Столбцы одинаковы для всех таблиц. |
Автор: NikeDeForest 16.9.2009, 09:39 | ||||
diadiavova, стал делать как ты посоветовал. Столкнулся со следующей проблемой. Заранее создаю три столбца с кнопками, которые одинаковы для всех. По началу делаю их невидимыми. После привязки источника данных свойству DisplayIndex этих трех столбцов присваиваю номера и свойству Visible присваиваю true. Столбец, который должен отображаться самым первым таковым и отображается, а вот столбцы, которые должна быть в конце отображаются не совсем верно: - первый раз - за пределами обалсти видимости (при этом прокрутки нет и менчть размеры столбцов приходится вручную) и т.п. -последующие разы они отображаются сразу следом за первым столбцом, т.е. столбцом с DisplayIndex=0; Присваиваю номера так:
Видимо чего-то не хватает? Не нужна ли какая-то перисовка и т.п.? И вот что мне еще прихожится делать
Объясняю зачем обнуляю DataSource, при смене binding, а именно если меняется таблица (при том же типе таблицы все ОК), то первый раз ДатаГридВью отображается пустым. Отладчиком если смотреть, то получается, что мы доходим до строки Form.MainDataGridView.DataSource = binding; А потом происходит выход из текущего метода, не смотря на то, что дальше есть код. Никакого экзепшина, ничего, просто выход. Это нормально? |
Автор: diadiavova 16.9.2009, 09:49 |
NikeDeForest, я сейчас всю картинку не помню, а студии под рукой нет(шарпдевелоп - не вариант ![]() |
Автор: VeryWell 17.9.2009, 15:05 | ||
На самом деле он не выходит, а проскакивает эти строчки, но при этом выполняет их. Поставь на против каждой из строчек метку остановки и прогони их через F5. Для решения проблемы попробуй поставить DataBinding=true; Связывая данные он и отрисует, если не ошибаюсь. Удачного кодинга. |