Создание столбца TcxTreeList видимым или невидимым в конструкторе c ++ во время выполнения для реализации функции поиска и поиска - PullRequest
0 голосов
/ 10 октября 2019

Можно ли скрыть / показать столбцы TcxTreeList? Я использую C ++ Builder 6. Я делаю поиск в одном столбце TcxTreeList и добавляю соответствующие элементы в другой столбец. Как только это будет сделано, я хочу скрыть первый столбец и отобразить второй столбец.

void TForm::RefreshTree()
{

   Grid->Clear();
   RefreshGrid(); //loads the tree 

   String colpropname = "";
   String searchmethod = EdtSearch->Text;



   for (TcxTreeListNode* node = Grid->TopNode; node != NULL ; node = node->GetNext())
   {
      if (!node->Values[colpropname ->ItemIndex].IsNull())
         colpropname =  node->Values[ColPropName->ItemIndex] ;
         colpropname = ConvertToOnlyCharacters(colpropname );

      if(colpropname .Pos(searchmethod) >0 || EdtSearch->Text.IsEmpty())  // if the item contains the keyword
      {

         node->Values[ColGridMatch->ItemIndex] = node->Values[ColPropName->ItemIndex];

      }
   }
}

Это мой неработающий код. Кто-нибудь пробовал функциональность поиска в TcxTreeList? Можно ли скрыть / показать столбцы? У меня есть эти подходы в моей голове, чтобы реализовать функцию поиска. Может кто-нибудь сказать мне, возможно ли это? ,

** a. Когда слово соответствует (частично / полностью) любому элементу в TreeList, эти узлы должны быть видны, а оставшиеся - невидимыми.

b. Когда слово соответствует (частично / полностью) любому элементу в TreeList, эти элементы должны быть перемещены в другой столбец (в том же списке) и отображать 2-й столбец в списке и скрывать первый.

с. Элементы, которые не соответствуют слову, должны быть удалены (удалить узел), а затем добавлены обратно после очистки поля редактирования. **

Возможны ли эти подходы с TcxTreeList. Пожалуйста, не стесняйтесь вносить, если у вас есть какие-либо предложения о том, как реализовать эту функцию поиска. Спасибо

ОБНОВЛЕНИЕ: На основании ответов команды DevExpress на форуме DevExpress функцию видимости столбца можно настроить, изменив значения свойств столбца «Ширина» и «Мин. Ширина» (так как установка IsVisible == true, не работает). Но все же существует проблема перекрытия столбцов. Похоже, что TreeList, который я использую (v4.9), не поддерживает большую часть функциональности. Надеюсь, эта информация кому-нибудь поможет!

...