Ajustar table BootStrap 4 duvida

bom dia, estou estudando Estudando Java/JSF/Bootstrap e me deparei com a seguinte situação, como eu consigo ajustar o tamanho da minha coluna, d modo que o espaçamento nao fique tao grande, ou seja ajustado dinamicamente de acordo com o tamanho da informação dentro da tabela? desde já agradeço a todos.

pagina XHTML

<ui:define name="content">
	<div class="row">
		<div class="col-md">
			<div class="card" style="margin-top: 20px; min-height: 65vh;">
				<div class="card-body bg-light">
					<h5 class="card-title">Cadastrar Novos Comunicados</h5>
					<hr class="mb-5" />
					<h:form>
						<div class="table-responsive">
							<h:dataTable rendered="#{not empty indexBean.comunicadosList}"
								value="#{indexBean.comunicadosList}" var="c"
								styleClass="table dataTable table-hover table-sm" width="100%">
								<h:column >
									<f:facet name="header">ID</f:facet>
								#{c.id}
								</h:column >
								<h:column >
									<f:facet name="header">TITULO</f:facet>
								#{c.titulo}
								</h:column>
								<h:column >
									<f:facet name="header">DATA</f:facet>
									<h:outputText value="#{c.data_com}">
										<f:convertDateTime type="date" pattern="dd-MM-yyyy HH:mm" />
									</h:outputText>
								</h:column>

							</h:dataTable>
						</div>
					</h:form>
				</div>
			</div>
		</div>
	</div>


</ui:define>

Tem algum motivo em especial para estar usando JSF com Bootstrap? Apenas estudo/curiosidade?

1 curtida

aqui no trabalho eles trabalham dessa forma, o primefaces é pesado demais.

Só por curiosidade, usar bootstrap melhorou?

1 curtida

oi mike! sou estagiário aqui na empresa eles trabalham dessa forma sob esta justificativa, estou me adaptando a forma deles trabalharem, por tanto nao consigo responder sua pergunta ainda, mas é bom pelo aprendizado

1 curtida

Ah sim, todo aprendizado é válido.
É a primeira vez que vejo alguém trocar o PrimeFaces por Bootstrap, eu perguntei porque normalmente a lentidão é causada pelos beans (escopos de sessão, mal uso dos getters/setters) ou até mesmo pelo excesso de ejbs

O código abaixo funciona pro PrimeFaces, pro JSF Puro eu não sei, ja que a h:datatable não tem o atributo resizableColumns, mas não custa nada tentar.

tableStyle="width: auto" resizableColumns="true"

E você tem que tirar o width=“100%”, porque se não a sua datatable vai se expandir ao máximo que der (tamanho do componente pai)

PS: Não sei Bootstrap

É bem esquisito mesmo. Na hora de procurar soluções tudo fica mais difícil, pois quem adota JSF usa Primefaces ou similares, do contrário não usam JSF, pois não vale a pena.

1 curtida

Exatamente, se não fosse o PrimeFaces o JSF estaria la em baixo em relação a quantidade de usuarios, se é que não estaria praticamente morto para projetos futuros, eu falo isso porque não vejo nenhum pronunciamento da Oracle e de nenhum lugar sobre a versão 2.4 ou 3.0

2 curtidas