Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Clauido José

campo no griview muito grande

Recommended Posts

Ola pessoal tenho um pagina no site que estou montando descrição no grid quero que apareça apenas 30% do texto digitado como faço isso, outra duvida como coloco um link de um botao por exemplo com uma imagem de editar e chamar outra paginda de edição?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Conte a quantidade de caracteres no texto todo, pegue 30%, arredonde para baixo (use o floor), crie uma variável que seria igual ao substring deste texto do index 0 ao index da 30% e substitua o texto por ela.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Perdão acho que me expressei errado o campo e texto rs nao numero eu quero pegar apenas 30% do texto digitado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

opa desculpa a demora em responder este topico estou com cheio de coisa pra fazer nao estou tendo sucesso veja como estou fazendo.

string descricao = dr["descricao"].ToString();
string sdescricao = descricao.Substring(0, descricao.Length * 0.03);

mas da erro na linha do substring.'string' does not contain a definition for 'mi' and no extension method 'mi' accepting a first argument of type 'string' could be found (are you missing a using directive or an assembly reference?)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha nao sei mais como resolver esse problema pois campo da tabela na hora de cadastrar eu cadastro pelo CKEditor ele grava as <tag> HTMl no banco esse campo e muito grande nao cabe no grid e gostaria de recuzir esse tamanho no asp classio isso seria facil com mid mas nao estouy com conseguindo fazer aqui .


            <asp:TemplateField HeaderText="Descição">
                <ItemTemplate>    <%#Eval("descricao") %>    </ItemTemplate>
            </asp:TemplateField>

Compartilhar este post


Link para o post
Compartilhar em outros sites

nao e que esta gravando e assim vou explicar, eu tenho um cadastro de empresa onde existem 3 campos titulo, breve e descrição a descrição da empresa e muito grande estou fazendo a area administrativa do site na pagina de listagem quero exibir num grid os dados dessa empresta cadastrada como o campo e muito grande nao quero que apareça todo ele so uma parte dele como faço isso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Resolvi valeu ajudo muio e isso substring


            <asp:TemplateField HeaderText="Descição">
                <ItemTemplate>    <%#Eval("descricao").ToString().Substring(0,400) %>    </ItemTemplate>
            </asp:TemplateField> 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se você quer os 30%, pode ser feiro assim:

 

 string texto = "Ola pessoal tenho um pagina no site que estou montando descrição no grid quero que apareça apenas 30% do texto digitado como faço isso, outra duvida como coloco um link de um botao por exemplo com uma imagem de editar e chamar outra paginda de edição?";


            int substr = Convert.ToInt32(Math.Floor(texto.Length * 0.3));


            string newTexto = texto.Substring(0, substr)+"...";


            Response.Write("Texto: " + texto);
            Response.Write("<BR> Texto Substring: " + newTexto);

*O .Length deu 251, e a variável substr deu 75.. no caso, ela cortou no meio de uma palavra.

 

A saida foi essa:

Texto: Ola pessoal tenho um pagina no site que estou montando descrição no grid quero que apareça apenas 30% do texto digitado como faço isso, outra duvida como coloco um link de um botao por exemplo com uma imagem de editar e chamar outra paginda de edição?

Texto Substring: Ola pessoal tenho um pagina no site que estou montando descrição no grid qu...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para evitar que ele corte no meio de uma palavra só fazendo um array e separando por espaços.

 

Sim!

 

 

Pode ser feito assim:

string texto = "Ola pessoal tenho um pagina no site que estou montando descrição no grid quero que apareça apenas 30% do texto digitado como faço isso, outra duvida como coloco um link de um botao por exemplo com uma imagem de editar e chamar outra paginda de edição?";


            string[] splitTexto = texto.Split(' ');


            int substr = splitTexto.Count(); 

            
            for (int i = 0; i < Convert.ToInt32(Math.Floor(substr * 0.3)); i++)
            {
                newTexto += splitTexto[i].ToString() + " ";
            }
            newTexto += "...";


            Response.Write("Texto: " + texto);
            Response.Write("<BR> Texto Substring: " + newTexto);

Variável newTexto tem que ser global.

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.