Подскажите как программно нажать кнопку в ButtonEdit.
» Использование DevExpress 2
JonyBes
Сначала для кнопки создаётся событие OnButtonClick, например, myButtonPropertiesButtonClick. Теперь можно вызвать:
Код: myButtonPropertiesButtonClick(myButton, 0)
Сначала для кнопки создаётся событие OnButtonClick, например, myButtonPropertiesButtonClick. Теперь можно вызвать:
Код: myButtonPropertiesButtonClick(myButton, 0)
Надеюсь, тут можно задавать вопросы и по .NET...
1. Как сделать, чтоб xtraGrid изменял данные не пока запущена программа, а сразу писал изменения в базу? У меня к нему подключены TableAdapter и BindingSource.
2. Пользуюсь ломаной версией 6.3 Как в ней добавить новый отчет к проекту? У меня в меню Add new Item... нет айтема отчетов
1. Как сделать, чтоб xtraGrid изменял данные не пока запущена программа, а сразу писал изменения в базу? У меня к нему подключены TableAdapter и BindingSource.
2. Пользуюсь ломаной версией 6.3 Как в ней добавить новый отчет к проекту? У меня в меню Add new Item... нет айтема отчетов
А скажите, кто-нить ставил Девок на Orcas? Поделитесь впечатлениями
idmail
Цитата:
Не совсем понятно о чем речь
Цитата:
Добавь новый класс и отнаследуй его от XtraReport - студия тогда изменит иконку и появится дизайнер
Цитата:
Как сделать, чтоб xtraGrid изменял данные не пока запущена программа, а сразу писал изменения в базу? У меня к нему подключены TableAdapter и BindingSource
Не совсем понятно о чем речь
Цитата:
Пользуюсь ломаной версией 6.3 Как в ней добавить новый отчет к проекту? У меня в меню Add new Item... нет айтема отчетов
Добавь новый класс и отнаследуй его от XtraReport - студия тогда изменит иконку и появится дизайнер
Цитата:
Не совсем понятно о чем речь
Речь о том, что таблица работает внутри проекта и хранит данные временно, не сохраняя при этом в саму базу данных и при закрытии программы никакие изменения не сохраняются. Дак как сделать, чтоб сохранялись?
Цитата:
Добавь новый класс и отнаследуй его от XtraReport - студия тогда изменит иконку и появится дизайнер
Куда его добавить и где появится иконка, какая иконка, откуда запустить дизайнер?
Цитата:
Речь о том, что таблица работает внутри проекта и хранит данные временно, не сохраняя при этом в саму базу данных и при закрытии программы никакие изменения не сохраняются. Дак как сделать, чтоб сохранялись?
Так DevExpress то тут при чем? Но можно поступить так: кинь на форму контрол DataNavigator от DevExpress. Свойству DataSource dataNavigatorа присвой свой bindingSource. У dataNavigatora подвяжись к событию нажатия на кнопку. И там вставь прмерно такой код:
[c#]
private void dataNavigator1_ButtonClick(object sender, NavigatorButtonClickEventArgs e)
{
if(e.Button.ButtonType == NavigatorButtonType.EndEdit)
{
Validate();
bindingSource.EndEdit();
tableAdapter.Update(table);
e.Handled = true;
}
}
[/c#]
Цитата:
Куда его добавить и где появится иконка, какая иконка, откуда запустить дизайнер?
К проекту добавь как обычно новый класс, этот класс наследуй от XtraReport, дальше студия все сделает сама
Цитата:
К проекту добавь как обычно новый класс, этот класс наследуй от XtraReport, дальше студия все сделает сама
Спасибо огромное, помогло, а т оя было уже отчаился.
Цитата:
Так DevExpress то тут при чем? Но можно поступить так: кинь на форму контрол DataNavigator от DevExpress. Свойству DataSource dataNavigatorа присвой свой bindingSource. У dataNavigatora подвяжись к событию нажатия на кнопку. И там вставь прмерно такой код:
Пробовал я делать нечто подобное - не помогает
Мне надо обновлять постоянно, как в дельфи гриды делают - сразу после изменения записи. Там есть эвент RowUpdate, надо использовать его, но метод Update не помогает
idmail
Цитата:
Кажется начинаю понимать, что тебе нужно. В общем 2 варианта:
1) нужно сохранять запись (если она была изменена), при переходе на другую запись. Тогда подписываемся на событие gridView RowUpdated
[c#]
gridView1.RowUpdated +=new DevExpress.XtraGrid.Views.Base.RowObjectEventHandler(gridView1_RowUpdated)
[/c#]
2) нужно сохранять запись сразу после изменения значения в ячейке грида. Тогда подписываемся уже на событие CellValueChanged
Но по хорошему, лучше подписаться на событие изменение не представления, а источника данных. Если это DataTable, то подписываемся на RowChanged, RowDeleted...
Думаю идея ясна
Цитата:
Мне надо обновлять постоянно, как в дельфи гриды делают - сразу после изменения записи
Кажется начинаю понимать, что тебе нужно. В общем 2 варианта:
1) нужно сохранять запись (если она была изменена), при переходе на другую запись. Тогда подписываемся на событие gridView RowUpdated
[c#]
gridView1.RowUpdated +=new DevExpress.XtraGrid.Views.Base.RowObjectEventHandler(gridView1_RowUpdated)
[/c#]
2) нужно сохранять запись сразу после изменения значения в ячейке грида. Тогда подписываемся уже на событие CellValueChanged
Но по хорошему, лучше подписаться на событие изменение не представления, а источника данных. Если это DataTable, то подписываемся на RowChanged, RowDeleted...
Думаю идея ясна
Ну я ведь и говорил, про RowUpdate а как по этому эвенету теперь сохранить?
TableAdapter.Update(e.Row); не катит
TableAdapter.Update(e.Row); не катит
idmail
Я выше приводил код, как занести данные в БД
Я выше приводил код, как занести данные в БД
Код: private void gridView1_RowUpdated(object sender, RowObjectEventArgs e)
{
//System.Data.Common.DataAdapter da = null;
autoBindingSource.EndEdit();
autoTableAdapter.Update((DataRow)e.Row);
}
idmail
Так ты похоже при создании data source указал, что нужно присоединить файл базы данных к проекту - у тебя всякий раз при запуске проекта этот файлик копируется в выходную директорию и затирает все твои изменения. Пересоздай data source и откажись от включения файла в проект
Так ты похоже при создании data source указал, что нужно присоединить файл базы данных к проекту - у тебя всякий раз при запуске проекта этот файлик копируется в выходную директорию и затирает все твои изменения. Пересоздай data source и откажись от включения файла в проект
Код: автотранспортTableAdapter.Update(tyreManagerDataBaseDataSet.Автотранспорт);
Сidmail
А в чем проблема. Есть мастер таблица, по ней строится mainView в гриде. Дальше жмешь retrieve details - получаешь уровни дочерних таблиц, привязываешь к уровням вьюшки, у вьюшек настраиваешь RowHeight. Все
А в чем проблема. Есть мастер таблица, по ней строится mainView в гриде. Дальше жмешь retrieve details - получаешь уровни дочерних таблиц, привязываешь к уровням вьюшки, у вьюшек настраиваешь RowHeight. Все
У mainView есть поле, у которого высота 32, там imageComboBox с большими картинками. Дак вот теперь у вложенной таблицы высота стала тоже 32, как я уже сказал autoRowHeight выключено и высота выставлена ручками в 18, но она остается такой же
idmail
Как ты настроил высоту поля? Высота поля ставится по высоте строки, а она задается для каждой вьюшки отдельно! Чего-то ты не то делаешь
Как ты настроил высоту поля? Высота поля ставится по высоте строки, а она задается для каждой вьюшки отдельно! Чего-то ты не то делаешь
Попробуй - проверь. У маин грида сделай поле, где картинки высокие есть. А у дочернего ты просто не сможешь сделать высоту меньше.
Если сможешь - делай скрин, я его распечатаю и съем.
PS. картинки у меня в imageComboBox'ах
Если сможешь - делай скрин, я его распечатаю и съем.
PS. картинки у меня в imageComboBox'ах
idmail
Ну все теперь понял о чем ты. Это баг(((
Ну все теперь понял о чем ты. Это баг(((
Да, печально, из-за этого немного кривовато выглядит.
А не подскажешь, как мне поменять конкретную ячейку в дочернем (это важно, потому-что в обычном - легко) гриде?
Ситуация такая: в дочернем гриде я сделал на редактирование колонки editButton (контрол с полем для ввода текста и кнопкой) хочу, чтоб по нажатию на кнопку открылась форма, я там что-то выбрал (радио группы) и какое-то значение записалось в эту ячейку.
Самое сложное - записать значение в нужную ячейку.
По нажатию на кнопку пытаюсь запомнить ячейку:
Код: gridView3.FocusedRowHandle, gridView3.FocusedColumn
А не подскажешь, как мне поменять конкретную ячейку в дочернем (это важно, потому-что в обычном - легко) гриде?
Ситуация такая: в дочернем гриде я сделал на редактирование колонки editButton (контрол с полем для ввода текста и кнопкой) хочу, чтоб по нажатию на кнопку открылась форма, я там что-то выбрал (радио группы) и какое-то значение записалось в эту ячейку.
Самое сложное - записать значение в нужную ячейку.
По нажатию на кнопку пытаюсь запомнить ячейку:
Код: gridView3.FocusedRowHandle, gridView3.FocusedColumn
idmail
Попробуй вот такой хинт, после выбора значения
[c#]
((GridView)gridControl1.FocusedView).FocusedRowHandle
[/c#]
должно помочь
Попробуй вот такой хинт, после выбора значения
[c#]
((GridView)gridControl1.FocusedView).FocusedRowHandle
[/c#]
должно помочь
господа, подскажите, а как у девэкспресса с поддержкой уникода?
Спасибо, получить верные параметры колонки и строки удалось, но теперь не получается установить значение ячейки. (*в сердцах*)Да, что такое!
Пробовал кучу вариантов:
Код: ((GridView)gridControl2.ViewCollection[0]).SetRowCellValue(r, c, o);
gridView3..SetRowCellValue(r, c, o);
Пробовал кучу вариантов:
Код: ((GridView)gridControl2.ViewCollection[0]).SetRowCellValue(r, c, o);
gridView3..SetRowCellValue(r, c, o);
idmail
Цитата:
всегда был или с какой то конкретной версии начался?
задача - ввод и отображение всяких разных языков, части символов которых нет в стандартной анси кодовой странице и есть только в расширенной юникоде...
Цитата:
Полный порядок.
всегда был или с какой то конкретной версии начался?
задача - ввод и отображение всяких разных языков, части символов которых нет в стандартной анси кодовой странице и есть только в расширенной юникоде...
idmail
Если работаешь с дочерними вьюшками, то обращаться напрямую к их объектам, созданным в дизайнере ты не можешь, так как при открытии дочернего View создается копия на основе шаблона (созданного в дизайнере)!
Поэтому нужно делать так: GridView childView = (GridView)gridControl.FocusedView;
и уже обращаешься к объекту childView. Например так:
childView.SetRowCellValue(childView.FocusedRowHandle, "ColumnName", value);
Если работаешь с дочерними вьюшками, то обращаться напрямую к их объектам, созданным в дизайнере ты не можешь, так как при открытии дочернего View создается копия на основе шаблона (созданного в дизайнере)!
Поэтому нужно делать так: GridView childView = (GridView)gridControl.FocusedView;
и уже обращаешься к объекту childView. Например так:
childView.SetRowCellValue(childView.FocusedRowHandle, "ColumnName", value);
Народ подскажите при установке DevExpr_17_nov_2006.exe при компиляции после установки вылезает куча ошибок Не удаётся найти указанный файл, причём сентябрьское обновление устанавливается номарьно. В чём может быть причина ?
maxdddca123
Одной из причин, может быть, то что ты скачал и установил DX для 2003 студии, а у тебя VS 2005 или Orcas
Одной из причин, может быть, то что ты скачал и установил DX для 2003 студии, а у тебя VS 2005 или Orcas
Цитата:
Поэтому нужно делать так: GridView childView = (GridView)gridControl.FocusedView;
и уже обращаешься к объекту childView. Например так:
childView.SetRowCellValue(childView.FocusedRowHandle, "ColumnName", value);
Код: GridView childView = (GridView)gridControl2.ViewCollection[0];
childView.SetRowCellValue(r, c, data);
raspe
У меня BDS 2006.... Проблема именно в инсталле, поста распаковки там идёт компиляция (в самом инсталяторе, кто ставил тот поймёт)....
У меня BDS 2006.... Проблема именно в инсталле, поста распаковки там идёт компиляция (в самом инсталяторе, кто ставил тот поймёт)....
maxdddca123
Про Борланд ничего сказать не могу - не ставил(((
Может дело в том, что ты не снес старую версию полностью. Попробуй в GAC подчистить оставшиеся сборки, может поможет
idmail
Цитата:
Тогда View и не создан еще, он ведь динамически создается по шаблону при отображении. Тогда пиши значение в источник данных, примерно так:
DataRow dr = childView.GetDataRow(rowHandle);
dr["ColumnName"] = value;
Цитата:
Отображение details настраивается в gridView.OptionsDetail; AllowExpandEmptyDetails - то что тебе нужно. Для новой строки крути gridView.OptionsView.NewItemRowPosition
Цитата:
Тут сам решай, можно через вью дочернего грида: gridView.SourceRowHandle и gridView.SourceView - укажут на строку и вью родителя. Но если вью не создан, то нужно как выше, изменять источник данных - получаешь DataRow дочерней таблицы и по ней выходишь на родителя через DataRow.GetParentRow. Как-то так
Про Борланд ничего сказать не могу - не ставил(((
Может дело в том, что ты не снес старую версию полностью. Попробуй в GAC подчистить оставшиеся сборки, может поможет
idmail
Цитата:
Получить gridView так, как написал ты - невозможно, потому-что он в настоящий момент не в фокусе.
Тогда View и не создан еще, он ведь динамически создается по шаблону при отображении. Тогда пиши значение в источник данных, примерно так:
DataRow dr = childView.GetDataRow(rowHandle);
dr["ColumnName"] = value;
Цитата:
Как мне добавить туда один пустой айтем, чтоб плюсик стал доступным и можно было потом уже добавлять остальные или как его (плюс) просто сделать доступным и увидеть там пустую строку для добавления записей?
Отображение details настраивается в gridView.OptionsDetail; AllowExpandEmptyDetails - то что тебе нужно. Для новой строки крути gridView.OptionsView.NewItemRowPosition
Цитата:
В дочерней таблице меняется одно поле, как можно по его изменению поменять поле в родительской таблице.
Тут сам решай, можно через вью дочернего грида: gridView.SourceRowHandle и gridView.SourceView - укажут на строку и вью родителя. Но если вью не создан, то нужно как выше, изменять источник данных - получаешь DataRow дочерней таблицы и по ней выходишь на родителя через DataRow.GetParentRow. Как-то так
Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
Предыдущая тема: Язык программирования на русском языке
Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.