Nano Hash - криптовалюты, майнинг, программирование

Динамические столбцы таблицы данных экспорта простых лиц

я хочу добавить экспорт для динамических столбцов. Я думаю, что это должно пойти. Экспорт данных динамических столбцов

Я использовал образец кода из Primefaces и отредактировал его: Пример Primefaces Код работает, но данные не верны. Файл включает динамические данные, такие как data[i], data[i], ...., а не атрибуты в data[i].

Есть идеи?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:ui="http://java.sun.com/jsf/facelets" 
      xmlns:my="http://java.dynamic.list.de"
      xmlns:p="http://primefaces.org/ui">

<ui:composition template="META-INF/templates/Template.xhtml">
    <ui:define name="content">      
            <h:form id="form" enctype="multipart/form-data">    
              <h:panelGrid columns="3"> 
                  <h:selectOneMenu id="showColl" value= "#{searchBean.collList.currentColl}" rendered = "#{searchBean.search.visible}">
                    <f:selectItems value="#{searchBean.collList.collList}" />
                </h:selectOneMenu>

             <h:outputText value="#{msgs.collection}" rendered = "#{searchBean.search.hide}"></h:outputText>
             <h:outputText value="#{searchBean.collList.currentColl}" rendered = "#{searchBean.search.hide}"></h:outputText>
             <h:commandButton id="show" action="#{searchBean.showFieldList}" value="#{msgs.plus}" rendered="#{searchBean.search.visible}" style=""/>    
                          <h:commandButton id="hide" action="#{searchBean.hideFieldList}" value="#{msgs.minus}" rendered="#{searchBean.search.hide}" immediate="true" onchange="this.form.submit()" style=""/>                                   
             </h:panelGrid>
            <h:panelGrid columns="1" rendered="#{searchBean.search.hide}"> 
             <h:panelGrid columns="2"> 
                <h:outputLabel value="#{msgs.Attr}"></h:outputLabel> 
                 <h:selectOneMenu id="Field"                 
                             value="#{searchBean.collList.currentField}"
                             rendered="#{searchBean.search.readWrite}">
                             <f:selectItems
                               value="#{searchBean.collList.fieldList}" />
                          </h:selectOneMenu>
                           <h:outputText value="#{searchBean.collList.currentField}" rendered="#{searchBean.search.readOnly}"></h:outputText>   
             </h:panelGrid>

             <h:panelGrid columns="2"> 
                 <h:outputLabel value="#{msgs.value}"></h:outputLabel> 
                 <h:inputText value="#{searchBean.search.value}"  rendered = "#{searchBean.search.readWrite}"></h:inputText>    
                 <h:outputText value="#{searchBean.search.value}" rendered = "#{searchBean.search.readOnly}"></h:outputText>
             </h:panelGrid>
             <h:panelGrid columns="3">
              <h:outputText value="#{msgs.sort_Order}"/>
                         <h:selectOneRadio id="sortOrder" 
                                value="#{searchBean.search.ascendingData}"                         
                                immediate="true" onchange="this.form.submit()">
                                <f:selectItem itemLabel="#{msgs.ascending}" itemValue="a" itemDisabled="#{searchBean.search.readOnly}"/>
                                <f:selectItem itemLabel="#{msgs.descending}" itemValue="d" itemDisabled="#{searchBean.search.readOnly}"/>
                         </h:selectOneRadio>
            </h:panelGrid>   
            </h:panelGrid>       
             <h:commandButton id="search" action="#{searchBean.searchButton}" value="#{msgs.search}" style=""/>

    <p:dataTable id="datas" var="data" value="#{searchBean.readListMap.items}" style="width:150px"
                 scrollable="true" scrollWidth="800" scrollHeight="400" emptyMessage="Keine Daten vorhanden">  
        <p:columns value="#{searchBean.collList.fieldListColumns}" var="columnName" columnIndexVar="i" style="width:150px"  headerText="#{columnName}">         
            #{data[i]}
        </p:columns>  

    </p:dataTable>                           

        <h:commandLink>   
            <p:graphicImage library="images" name="csv.png" /> 
            <p:dataExporter type="csv" target="datas" fileName="assetDB" />  
        </h:commandLink>  

        <h:commandLink>  
            <p:graphicImage library="images" name="xml.png" /> 
            <p:dataExporter type="xml" target="datas" fileName="assetDB" />  
        </h:commandLink>  

    </h:form>                
    </ui:define>
</ui:composition>
</html>
14.04.2014

  • Покажите вашу xhtml-страницу, пожалуйста. 15.04.2014
  • Какую версию Primefaces вы используете? В любом случае вам нужно будет использовать CustomExporter, чтобы делать то, что вы хотите. 15.04.2014
  • Я использую праймфейс 4.0. Я думаю, что мне нужен CustomExporter. Проблема в том, что у меня есть NoSQL-база данных. Это означает, что в моих данных нет Shema, например, разных столбцов. Вот почему я использую динамические столбцы. Я создаю экспорт своих данных в моей таблице данных, у меня есть столбцы с нулевым значением, потому что у данных нет его столбцов. Но если я экспортирую данные в cvs, у меня есть одна строка заголовка со всеми столбцами, а остальные строки - это данные. Я могу создать экспорт только для одной схемы в моей базе данных. Мне нужны разные экспортные файлы cvs для разных схем. Верна ли моя мысль? 15.04.2014
  • Импортировать данные с теми же столбцами. Я могу сделать так, чтобы создать таблицу с динамическими столбцами. Отличие в том, что я заполняю не таблицу, а строку, например. построитель строк для создания файла экспорта. 16.04.2014

Ответы:


1

Я использовал этот код для создания файла. результат я StringBuilder для создания вашей строки костюма. Я создал специальный файл cvs.

String tempString = result.toString();
InputStream stream = new ByteArrayInputStream(tempString.getBytes("UTF-8"));
Timestamp tstamp = new Timestamp(System.currentTimeMillis()); 
file = new DefaultStreamedContent(stream, "application/cvs", "test-"+tstamp+".cvs"); 

Я записываю в файл xhtml пример из Primefaces пример Primefaces. Надеюсь, это поможет другим людям столкнуться с проблемами с динамическими столбцами и простыми лицами для экспорта данных.

17.04.2014
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

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

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..