HI,
Hoje tava bricando um pouco com um exemplo que fiz em Asp.net acessando um arquivo .rpt do Crystal Report. Já tinha conseguido visualizar e passando um parâmetro.
Para gerar um pdf a partir desse relatório, usei essas dicas:
Generate a PDF File using CrystalReports
http://www.codeproject.com/Articles/16379/Generate-a-PDF-File-using-CrystalReports
How can I export the crystal report to PDF directly?
http://forums.asp.net/t/1585859.aspx/1
O primeiro exemplo salva um arquivo pdf no disco, o segundo exibe o relatório no browser.
No segundo link, o código que usei foi esse:
MemoryStream oStream; // using System.IO
oStream = (MemoryStream)
oRpt.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat);
Response.Clear();
Response.Buffer = true;
Response.ContentType = "application/pdf";
Response.BinaryWrite(oStream.ToArray());
Response.End();
No primeiro link não usei a funçao toda, só a parte que me interessava, a que salva no disco.
Fiquem na Paz!!!!
quarta-feira, outubro 03, 2012
Erro NullPointerException ao usar notifyDataSetChanged no Android
HI,
Vou contar um pouco da história primeiro.
Resolvi colocar uma opção de busca em uma ListActivity. Coisa simples, apenas um like no whera da query de pesquisa. Fazia um busca e não atualizava a tela e quando eu pressionava algum item dava erro. É que a query não retornava nada e dava erro, só percebi que a query não tava retornando nada depois de um bom tempo. Para atualizar eu precisava usar o comando notifyDataSetChanged() (detalhe: se a query retorna algum registro, a tela era atualizada, a bronca era só quando não retornava registros)
Esse é o bloco de comandos que atualiza a tela, a list ou uma mensagem indicando que não retornou nada.
private final Handler handler = new Handler() {
@Override
public void handleMessage(final Message msg) {
progressDialog.dismiss();
if ((dias == null) || (dias.size() == 0)) {
empty.setText("Listagem Vazia");
} else {
mAdapter = new MyCustomAdapter();
setListAdapter(mAdapter);
}
}
};
Coloquei o comando notifyDataSetChanged() após o empty.setText("Listagem Vazia"); e ficou funcionando blz. Mas... quando fui testar num tablet e não tinha registro ainda, quando fui acessar a tela, deu erro de java.lang.NullPointerException. Fiquei sem entender um pouco por que fui testar no smartphone excluíndo todos os registro e mostrou a mensagem Listagem Vazia, mas quando sair e voltei pra tela, deu o mesmo erro. Pesquisando mais uma vez no google, encontrei a solução, graças a Deus e a quem colocou.
o bloco de comando ficou assim:
private final Handler handler = new Handler() {
@Override
public void handleMessage(final Message msg) {
progressDialog.dismiss();
if ((dias == null) || (dias.size() == 0)) {
empty.setText("Listagem Vazia");
if (mAdapter != null){
mAdapter.notifyDataSetChanged();
}
} else {
mAdapter = new MyCustomAdapter();
setListAdapter(mAdapter);
}
}
};
Achei aqui
Android java.lang.RuntimeException: Unable to resume activity
http://stackoverflow.com/questions/10897551/android-java-lang-runtimeexception-unable-to-resume-activity
foi preciso colocar um teste para saber se o adapter era null.
Agora tá 100% o lance da pesquisa
Fiquem na Paz!!!
Vou contar um pouco da história primeiro.
Resolvi colocar uma opção de busca em uma ListActivity. Coisa simples, apenas um like no whera da query de pesquisa. Fazia um busca e não atualizava a tela e quando eu pressionava algum item dava erro. É que a query não retornava nada e dava erro, só percebi que a query não tava retornando nada depois de um bom tempo. Para atualizar eu precisava usar o comando notifyDataSetChanged() (detalhe: se a query retorna algum registro, a tela era atualizada, a bronca era só quando não retornava registros)
Esse é o bloco de comandos que atualiza a tela, a list ou uma mensagem indicando que não retornou nada.
private final Handler handler = new Handler() {
@Override
public void handleMessage(final Message msg) {
progressDialog.dismiss();
if ((dias == null) || (dias.size() == 0)) {
empty.setText("Listagem Vazia");
} else {
mAdapter = new MyCustomAdapter();
setListAdapter(mAdapter);
}
}
};
Coloquei o comando notifyDataSetChanged() após o empty.setText("Listagem Vazia"); e ficou funcionando blz. Mas... quando fui testar num tablet e não tinha registro ainda, quando fui acessar a tela, deu erro de java.lang.NullPointerException. Fiquei sem entender um pouco por que fui testar no smartphone excluíndo todos os registro e mostrou a mensagem Listagem Vazia, mas quando sair e voltei pra tela, deu o mesmo erro. Pesquisando mais uma vez no google, encontrei a solução, graças a Deus e a quem colocou.
o bloco de comando ficou assim:
private final Handler handler = new Handler() {
@Override
public void handleMessage(final Message msg) {
progressDialog.dismiss();
if ((dias == null) || (dias.size() == 0)) {
empty.setText("Listagem Vazia");
if (mAdapter != null){
mAdapter.notifyDataSetChanged();
}
} else {
mAdapter = new MyCustomAdapter();
setListAdapter(mAdapter);
}
}
};
Achei aqui
Android java.lang.RuntimeException: Unable to resume activity
http://stackoverflow.com/questions/10897551/android-java-lang-runtimeexception-unable-to-resume-activity
foi preciso colocar um teste para saber se o adapter era null.
Agora tá 100% o lance da pesquisa
Fiquem na Paz!!!
Marcadores:
android,
erro,
list,
listactivity,
null
terça-feira, outubro 02, 2012
Saber se uma string é um número válido
HI,
Precisei de uma função para saber se o texto de uma busca era formado apenas por números. Achei uma rotina que inda até se o número é valido. Estou usando em um aplicativo android.
Se o usuário digitar apenas um número, aí eu também pesquiso pelo _id do registro, além de pesquisar por outros dois campos varchar.
Achei aqui
How to check if String() value is numeric
http://www.coderanch.com/t/401142/java/java/check-if-String-value-numeric
Essa é a rotina
if ("-2324.00".matches("((-|\\+)?[0-9]+(\\.[0-9]+)?)+")) {
System.out.println("Is a number");
} else {
System.out.println("Is not a number");
}
Fiquem na Paz!!!
Precisei de uma função para saber se o texto de uma busca era formado apenas por números. Achei uma rotina que inda até se o número é valido. Estou usando em um aplicativo android.
Se o usuário digitar apenas um número, aí eu também pesquiso pelo _id do registro, além de pesquisar por outros dois campos varchar.
Achei aqui
How to check if String() value is numeric
http://www.coderanch.com/t/401142/java/java/check-if-String-value-numeric
Essa é a rotina
if ("-2324.00".matches("((-|\\+)?[0-9]+(\\.[0-9]+)?)+")) {
System.out.println("Is a number");
} else {
System.out.println("Is not a number");
}
Fiquem na Paz!!!
Assinar:
Postagens (Atom)