Neler yeni

Yeni mesajlar Yeni konular En çok mesaj En çok tepki En çok görüntülenen

Widget teknolojisi ile uzaktan erişim muhasebe hesaplarını gözden geçirme programı

sevimsli

🌟Usta Tasarımcı🌟
Katılım
5 Ara 2008
Mesajlar
273
Tepkime puanı
8
as+flex içine biraz java yazarak bilgisayarımıza cep telefonumuzdan yada terminallerden çok rahatlıkla erişim yapabiliceğimiz bir muhasebe işlem uygulaması oluşturabiliriz bu modellemeye aynı zamanda widgets teknolojisi deniliyor .

1-Bunun için öncelikle uzaktan data servisine erişim sağlamak gerekiyor

public interface PageableDataService extends RemoteService
{
public List getCustomerData(int startIndex, int numItems );
}

2-Daha sonra async teknolojisini tanımlayacağız uygulamamıza

public interface PageableDataServiceAsync
{
public void getCustomerData(int startIndex, int numItems,
AsyncCallback callback);
}

3-Array listeleri oluşturuyoruz

private ArrayList customerData = new ArrayList();

4-HSQLDB bağlantı tanımlıyoruz

private void loadData()
{
Class.forName("org.hsqldb.jdbcDriver");
Connection conn = DriverManager.getConnection
( "jdbc:hsqldb:file:samplesdb", "sa", "");
Statement st = conn.createStatement();
ResultSet rs = st.executeQuery("SELECT * FROM users");
for (; rs.next();)
{
ArrayList customer = new ArrayList();
customer.add((String) rs.getObject(2));
customer.add((String) rs.getObject(3));
customer.add((String) rs.getObject(4));
customer.add((String) rs.getObject(5));
customer.add((String) rs.getObject(6));
customerData.add(customer);
}
st.execute("KAPAT");
conn.close();
}

5-Dataları yüklettiriyoruz
public PageableDataServiceImpl()
{
super();
loadData();
}

6-Yeni bir servis tanımlattırıyoruz

public ArrayList getCustomerData(int startIndex, int numItems)
{
ArrayList customers = new ArrayList();
for (int i = startIndex - 1; i < (startIndex + numItems); i++)
{
customers.add((ArrayList) customerData.get(i));
}
return customers;
}
7-Tablaler tabiki unutulmamalı

[FONT=Courier Std,Courier Std]private FlexTable customerTable = new FlexTable(); [/FONT]
[FONT=Courier Std,Courier Std]private Button backButton = new Button("<<<"); [/FONT]
[FONT=Courier Std,Courier Std]private Button forwardButton = new Button(">>"); [/FONT]
[FONT=Courier Std,Courier Std]private String[] customerTableHeaders = new String[] [/FONT]
[FONT=Courier Std,Courier Std]{ "Ad", "Il","Ilce", "Cep", "Tel" }; [/FONT]
[FONT=Courier Std,Courier Std]private int startIndex = 1[/FONT]
[FONT=Courier Std,Courier Std] [/FONT]
[FONT=Courier Std,Courier Std]8-Uzaktan erişim[/FONT]
[FONT=Courier Std,Courier Std]final PageableDataServiceAsync pageableDataService = [/FONT]
[FONT=Courier Std,Courier Std](PageableDataServiceAsync) [/FONT]
[FONT=Courier Std,Courier Std]Muhasebe.create(PageableDataService.class); [/FONT]
[FONT=Courier Std,Courier Std]ServiceDefTarget endpoint = (ServiceDefTarget) [/FONT]
[FONT=Courier Std,Courier Std]pageableDataService; [/FONT]
[FONT=Courier Std,Courier Std]endpoint.setServiceEntryPoint(Muhasebe.getModuleBaseURL() + [/FONT]
[FONT=Courier Std,Courier Std]"pageabledata");[/FONT]
[FONT=Courier Std,Courier Std] [/FONT]
[FONT=Courier Std,Courier Std]9-Bağlantıyı kapa[/FONT]
[FONT=Courier Std,Courier Std]private void clearTable() [/FONT]
[FONT=Courier Std,Courier Std]{ [/FONT]
[FONT=Courier Std,Courier Std]for (int row=1; row<customerTable.getRowCount(); row++) [/FONT]
[FONT=Courier Std,Courier Std]{ [/FONT]
[FONT=Courier Std,Courier Std]for (int col=0; col<customerTable.getCellCount(row); col++) [/FONT]
[FONT=Courier Std,Courier Std]{ [/FONT]
[FONT=Courier Std,Courier Std]customerTable.clearCell(row, col); [/FONT]
[FONT=Courier Std,Courier Std]} [/FONT]
[FONT=Courier Std,Courier Std]} [/FONT]
[FONT=Courier Std,Courier Std]}[/FONT]
[FONT=Courier Std,Courier Std] [/FONT]
[FONT=Courier Std,Courier Std]10-Data güncellemesi yap[/FONT]
[FONT=Courier Std,Courier Std] [/FONT]
[FONT=Courier Std,Courier Std]
[/FONT]
private void update(int startIndex)
{
AsyncCallback callback = new AsyncCallback()
public void onSuccess(Object result)
{
ArrayList musteriData = (ArrayList) result;
int row = 1;
clearTable();
for (Iterator iter=customerData.iterator(); iter.hasNext();)
{
ArrayList customer = (ArrayList) iter.next();
musteriTable.setText(row, 0, (String) musteri.get(0));
musteriTable.setText(row, 1, (String) musteri.get(1));
musteriTable.setText(row, 2, (String) musteri.get(2));
musteriTable.setText(row, 3, (String) musteri.get(3));
musteriTable.setText(row, 4, (String) musteri.get(4));
row++;
}
}
public void onFailure(Throwable caught)
{
Window.alert("HAta bağlantı:yapılamadı " + caught.getMessage());
}
pageableDataService.getCustomerData(startIndex, 10, callback);
}

11-Butnları bağla
HorizontalPanel innerNavBar = new HorizontalPanel();
innerNavBar.setStyleName("pageableData-NavBar");
innerNavBar.setSpacing(8);
innerNavBar.add(geri);
innerNavBar.add(ileri);

12-Butonlara görev ver
geri.addClickListener(new ClickListener()
{
public void onClick(Widget sender)
{
if (startIndex >= 10)
startIndex -= 10;
update(startIndex);
}
});

ileri.addClickListener(new ClickListener()
{
public void onClick(Widget sender)
{
if (startIndex < 40)
{
startIndex += 10;
update(startIndex);
}
}
});

13-Widgetsleri kilitle

workPanel.add(innerNavBar);
HorizontalPanel infoPanel = new HorizontalPanel();
infoPanel.add(new HTML("<div class='infoProse'>Bağlanıyor[FONT=Arial,Arial][/FONT]
[FONT=Arial,Arial][/FONT]İleri geri ile görebilirsiniz.</div>"));
workPanel.add(müsteriTable);
DockPanel workPane = new DockPanel();
workPane.add(infoPanel, DockPanel.NORTH);

14-Son olarak yapımızı xml e aktartıyoruz veri olarak
<servlet path="/Muhasebe/pageabledata" class=
"com.packtpub.gwtwidgets.samples.server.PageableDataServiceImpl"/>
 

Benzer konular

blueden

Kreatif Stratejist
👑Efsanevi Grafiker👑
Katılım
26 Şub 2008
Mesajlar
7,264
Tepkime puanı
176
Harika bir konu ve paylaşım; emeğinize sağlık, +1.
 

sevimsli

🌟Usta Tasarımcı🌟
Katılım
5 Ara 2008
Mesajlar
273
Tepkime puanı
8
Tşk ederim

Aynı zamanda veri madenciliği yapılmış verilere ulaşma yoludur ...
 

dizaynplus

⭐Deneyimli Tasarımcı⭐
Katılım
13 Tem 2008
Mesajlar
244
Tepkime puanı
6
Güzel bir çalışma yapmışsın sevimlisi üzerinde çalışmaya devam etmeni isterim kodlarını inceledim, biraz daha üzerinde oynarsan daha kapsamlı bir program haline getirebilirsin.
 
Üst