Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.02.27;
Скачать: CL | DM;

Вниз

Локализация DevExpress   Найти похожие ветки 

 
ixen   (2010-11-13 13:36) [0]

В программе использую cxDBFilterControl. Экран Filter builder"a на английском языке. Я решил сделать локализацию на русский. Создал файл ресурса с переводом через cxLocalizereditor.exe. Теперь необходимо этот файл ресурса подгрузить в программу. Прописал в программе строчку {$R rus.res}.

создаю Ресурс стрим
ResStream:=TResourceStream.Create(HInstance, "Russian", RT_RCDATA);

но при запуске выходит ошибка что ресурс с именем Russian не найден... как узнать под каким именем находится ресурс. В самой утилитке для создания локализации ничего не нашел...


 
DimaBr ©   (2010-11-15 08:51) [1]

Внимание! Здесь обсуждаются вопросы, связанные с разработкой компонентов, редакторов свойств, редакторов компонентов и экспертов IDE.
Вопросы по поиску и использованию готовых компонентов, редакторов или экспертов являются нарушением тематики и могут быть удалены.


 
Andy BitOff ©   (2010-11-15 09:47) [2]

   Res := TResourceStream.Create(Hinstance, "RUSSIAN", "LOCALIZE");
   try
     frmMain.Localizer.LoadFromStream(Res);
   finally
     Res.Free;
   end;
   frmMain.Localizer.Active := True;
   frmMain.Localizer.LanguageIndex := frmMain.Localizer.Languages.GetLanguageByName("Русский");


 
Andy BitOff ©   (2010-11-15 09:53) [3]

А, да. У вас проблемы с ресурсами. Ну как создать ресурсный файл инфы дофига. Локализатор сохраняет ini, его засовываете в ресурс. В моем примере ресурс RUSSIAN сохранен под типом LOCALIZE.


 
ixen   (2010-11-15 11:51) [4]

Спасибо большое... все получилось!!!!


 
ixen   (2010-11-15 15:01) [5]

Простите за наглость... но я уж в этой теме спрошу... про тот же cxDBFilterControl ... вобщем в окошке DBFilterControl указываю условие и нажимаю применить.. выскакивает ошибка...

---------------------------
Can"t parse Filter for:
docs_d_dset: Field "DOCS.ID" not found.
---------------------------
ОК  
---------------------------


почему то не видит поля... хотя в датасете (Я использую FIBdataset) в SelectSQL эти поля поля прописаны в запросе.. Грид данные отображает... но фильтер контрол почему то выдают такую ошибку... подскажите в чем причина?


 
картман ©   (2010-11-15 15:24) [6]

поищи "ID"


 
Дмитрий Белькевич   (2010-11-15 15:26) [7]

Он же вроде платный. Мот в саппорт стукнуть?


 
ixen   (2010-11-16 06:15) [8]

> поищи "ID"

дело в том что ругается не только на "ID" а на любое другое поле в списке... список полей он же как то видит.. но при фильтрации ругается...


 
ixen   (2010-11-16 06:16) [9]

> Он же вроде платный. Мот в саппорт стукнуть?

а ты сам пользуешся только лицензионным ПО?


 
картман ©   (2010-11-16 06:43) [10]


> ixen   (16.11.10 06:15) [8]
>
> > поищи "ID"
>
> дело в том что ругается не только на "ID" а на любое другое
> поле в списке... список полей он же как то видит.. но при
> фильтрации ругается...

он их видит без алиасов.

dataSet.sql.text := "select t1.id, t2.name from MyTable1 t1 join MyTable2 t2 on...."

имена полей будт id и name - не t1.id, t2.name


 
картман ©   (2010-11-16 06:47) [11]

dataSet.sql.text := "select t1.id, t2.id from MyTable1 t1 join MyTable2 t2 on...."

t1.id = id
t2.id = id_1


 
ixen   (2010-11-16 06:55) [12]

чо то не совсем понял что делать...


 
ixen   (2010-11-16 06:56) [13]

вот текст моего запроса:
SELECT
   D.ID,
   D.DATE_DOC,
   D.TYPE_DOC,
   D.NAME_DOC,
   D.USER_ID,
   D.USER_FIO,
   D.CLIENT_ID,
   (select c.client_fio from clients c where c.id=d.client_id) as CLIENT_FIO,
   cast ((SELECT Sum(kolvo*price) FROM moves m WHERE  m.doc_id=d.id)as numeric(15,2)) as total_summ
FROM
  DOCS d where (type_doc<>"A")and(type_doc<>"Z")


 
картман ©   (2010-11-16 07:17) [14]


> (Я использую FIBdataset)

упсь... я сейчас проверял на sql server - работает, interbase нету.
а ты условие фильтра кодом добавляешь или кнопками cxdbfilter?


 
картман ©   (2010-11-16 07:19) [15]




> чо то не совсем понял что делать...


> вот текст моего запроса:
> SELECT
>    D.ID,
>    D.DATE_DOC,
>    D.TYPE_DOC,
>    D.NAME_DOC,
>    D.USER_ID,
>    D.USER_FIO,
>    D.CLIENT_ID,

имена полей будут без "D."


 
ixen   (2010-11-16 07:52) [16]

> а ты условие фильтра кодом добавляешь или кнопками cxdbfilter?

кнопками cxdbfiltr"a


> имена полей будут без "D."

да я уже и так и так пробовал и c D. и без D.


 
картман ©   (2010-11-16 08:00) [17]


>  но фильтер контрол почему то выдают такую ошибку...

кстати, а почему фильтерконтрол? По крайней мере в примере ихнем датасету фильтр берется из этого контрола... или как-то еще можно?


 
ixen   (2010-11-16 08:01) [18]

можт в cxDBFilterControl нужно какую то опцию включить? просто я DBFilter вызываю через cxDBNavigator.. в нем есть кнопка фильтра при нажатии которого вызывается DBFilterControl ... может нужно DBFilter отдельным компонентом сделать ...


 
картман ©   (2010-11-16 08:07) [19]

я ща делал отдельно. после задания условия фильтра надо тыркнуть на кнопарь:

cxDBFilter.ApplyFilter;
DataSet.Filtered := False;
DataSet.Filter := cxDbFilter.FilterText;
DataSet.Filtered := True;

в ихнем примере так, только там переопределен ApplyFilter, в котором делают то же самое, что и в примере выше


 
ixen   (2010-11-16 08:20) [20]

сейчас буду пробовать как в примере.. спасибо картман за помощь...


 
Дмитрий Белькевич   (2010-11-16 09:17) [21]


> а ты сам пользуешся только лицензионным ПО?


Да.


 
ixen   (2010-11-16 10:52) [22]

Разобрался я с фильтрацией...
вобщем ошибка была в следующем... в самом Fibdataset есть свойство FieldOriginRule, в котором по умолчанию стояло forTableAndFieldName, поэтому фильтр генерировал поле как DOCS.ID. Я выставил значение в forClientFieldName и ошибка исчезла...но результатом фильтрации была пустая таблица... в примере по локальной фильтрации от FIBPlus увидел что нужно отключать событие OnFilterRecord, присвоив ему nil, т.е. dataset.onFiltyerRecord:=nil; и фильтрация заработала... т.е. я использую встроенную фильтрацию cxDBNavigator"a ... спасибо всем кто помогал...


 
ixen   (2010-11-16 13:58) [23]

слушай...картман.. раз уж ты юзал cxDBFilterControl... подскажи еще одну вещь.... уже все перерыл... вобщем в списке условий не появляется условие contains или Like ... выставил в свойствах итемов дбфильтра TextEdit, указывая что поле текстовое... но при фильтрации в списке условий эти условия не появляются... как сделать чтобы они там появились?


 
картман ©   (2010-11-16 14:36) [24]


> ixen   (16.11.10 13:58) [23]

не юзал я его - только для твоего вопроса попробовал.

А like - думаю, нет его вовсе, это команда SQL уже, датасет как бы ничего о нем не знает.



Страницы: 1 вся ветка

Текущий архив: 2011.02.27;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.01 c
3-1253193972
stas
2009-09-17 17:26
2011.02.27
кто писал пользовательские типы для MSSQL?


15-1290115787
Юрий
2010-11-19 00:29
2011.02.27
С днем рождения ! 19 ноября 2010 пятница


2-1291306769
Чайник
2010-12-02 19:19
2011.02.27
Вставка в TStringGrid через буфер обмена


15-1289860347
hattak
2010-11-16 01:32
2011.02.27
скриншот отдельного элемента страницы загруженной в IE ...


2-1291121307
12
2010-11-30 15:48
2011.02.27
Запрос в потоке. Правильно пишу?