Sqlite Blackberry网格布局定制
如何在blackberry的grid manager布局中向网格元素添加边距。我希望它看起来与sqlite表上的外观完全相同,行和列具有整齐的边距。此外,我还希望为网格的每一行添加颜色。网格中的元素是从sqlite表字符串逐字符串获取的 我有以下代码: GridFieldManager网格=新的GridFieldManager 10,5,0; grid.addnew LabelFieldDate; grid.addnew LabelFieldBill; grid.addnew LabelFieldReceipt; grid.addnew LabelField阵列; grid.addnewlabelfield; grid.setColumnPatting15; grid.setRowPadding20; 对于int i=1;iSqlite Blackberry网格布局定制,sqlite,blackberry,gridview,user-interface,blackberry-jde,Sqlite,Blackberry,Gridview,User Interface,Blackberry Jde,如何在blackberry的grid manager布局中向网格元素添加边距。我希望它看起来与sqlite表上的外观完全相同,行和列具有整齐的边距。此外,我还希望为网格的每一行添加颜色。网格中的元素是从sqlite表字符串逐字符串获取的 我有以下代码: GridFieldManager网格=新的GridFieldManager 10,5,0; grid.addnew LabelFieldDate; grid.addnew LabelFieldBill; grid.addnew LabelFiel
任何了解此解决方案的人请分享。谢谢。您可以通过两种方式实现颜色部分: 重写网格管理器绘制方法很困难 向每个单元格添加一个自定义VerticalFieldManager,该管理器只包含一个标签字段,而不是直接添加标签字段。这是IMHO最简单的方法。
要向获取的行添加颜色,可以使用以下代码:
for (int k = 4; k >=0; k--)
{
System.out.println("Inside for loops");
//Check for whether column retrieved is date or naraation
if(k==0 || k==3)
{
System.out.println("Retrieving date or narration");
grid.insert(new LabelField(r.getString(k))
{
public void paint(Graphics graphics)
{
graphics.setColor(Color.GOLD);
super.paint(graphics);
}
},i,j);
}
else
{
//Check for whether column retrieved is bills,rec or id
System.out.println("Retrieving other values");
String p = "" + r.getObject(k);
//if(r.getString(k) != null)
//{
grid.insert(new LabelField(p)
{
public void paint(Graphics graphics)
{
graphics.setColor(Color.GOLD);
super.paint(graphics);
}
},i,j);
// }
}
以if-else的方式使用它可能有助于您的解决方案。是的,我已经在r.object获取中尝试过。它非常适合行。谢谢!