Click Here
for Android DataGrid!

Delivery Services

Sample iOS Application with iOS DataGrid component

clock February 28, 2016 00:50 by author Administrator

We recently created a POC application for one of our customers, here was their requirement:

I want to use the simple format to create a grid input, top row display colour(fixed), first left column(fixed) display size, in the grid I want to put text box for user to input qty.
then I need to add a button on top or bottom to let use to click on it which can read all the inputs in the grid. Would you please let me know if it is possible?

Also, I can add rows dynamically,  but I cannot add columns dynamically, it looks like the column set in the xml file, so could you please let me know is it possible to add columns dynamically?
Besides, is it possible to adjust the height dynamically? because when I add more rows, the height still keep same. also is it possible to change width dynamically?

So, we create a POC that meets all of these requirements:

If any of you have similar requirements, here is the link the download the sample :



ld: 1 duplicate symbol for architecture i386 clang: error: linker command failed with exit code 1 (use -v to see > invocation)

clock February 28, 2016 00:27 by author Administrator

Recently, had a customer complain about the following error:

> I try to import UIViewcontroller which has grid on it to another
> UIViewcontroller, I want to use segue for destination view, but after I
> import the grid view controller, I got error:
> duplicate symbol _FLXSiToastDuration in:
> ld: 1 duplicate symbol for architecture i386
> clang: error: linker command failed with exit code 1 (use -v to see
> invocation)
> "ProductVariableGridViewController" this is the page which has grid on it.
> "HomeProductViewController", this is the page I want to import
> ProductVariableGridViewController onto it.
> would you please let me know what's wrong.


This is actually rather surprising that it started happening all of a sudden. In any case, we have a build with a fix for this issue. So if you have encountered a similar issue, please let us know and we can send you a build

Undefined symbols for architecture i386: "_OBJC_CLASS_$_MFMailComposeViewController", referenced from:

clock February 6, 2016 19:13 by author Administrator

Just got a question from a customer:

I tried to embed the sample code into our app.

first I linked library (ioscomponentslibrary.framework) second I copied GridXML, ViewController, FLXSCustomTextInput, and DetailViewController into our app then I tried to build, it failed

  I got following error:

Undefined symbols for architecture i386:

  "_OBJC_CLASS_$_MFMailComposeViewController", referenced from:

      objc-class-ref in iOSComponentsLibrary(FLXSExportOptionsViewController.o)

ld: symbol(s) not found for architecture i386

clang: error: linker command failed with exit code 1 (use -v to see invocation)

Solution: This is happening because MessageUI is missing. WE use this to send the exported data to an email recipient  

In Xcode goto the build phases tab for your target. Make sure you see MessageUI.framework. If it's not there click + to add a new framework and choose MessageUI.



How to Add FLXSFlexDataGrid to a nib file

clock June 4, 2015 05:54 by author Administrator

Drag a UIView from the Object Library into the view controller

Then click on the UIView you added and go to the Identity Inspector. Set the class to FLXFlexDataGrid



You can connect the grid to an outlet. Bring up the Assistant editor, and make sure that ViewController.h is visible. Control-drag from the UIView down between the @interface and @end lines, and connect it to an Outlet named flxsFlexDataGrid.

You can then build the grid using XML, or via API, and call setDataProvider on it, as is shown in our example code.

App Getting Rejected due to Non-public API usage

clock May 10, 2015 06:36 by author Administrator

Recently, had a bug report from a customer : 


We are using iOS components in our project and when e submitted our app to the app store today it go rejected due to the reason saying we are using non-public API usage. The following is Apples email.


Dear developer,
We have discovered one or more issues with your recent delivery for "xxxxx". To process your delivery, the following
issues must be corrected:

* The app references non-public selectors in xxxxxx: cell,
column, dataField, dataProvider, setDataProvider:, setPaddingBottom:,

If method names in your source code match the private Apple APIs listed
above, altering your method names will help prevent this app from being
flagged in future submissions. In addition, note that one or more of the
above APIs may be located in a static library that was included with your
app. If so, they must be removed.



IT appears Apple have recently started making these words as non-public.  In summary, what happens in Apple slowly takes control of certain words/phases (and makes them non-public probably because they will be using

them in some global class). We have renamed the properties in question. There was a lot of code that got affected, so you may encounter compile errors. For each of these properties, we have renamed it to propertyFLXS. So, paddingBottom becomes paddingBottomFLXS.

This is leading to a highly inconsistent API, but we wanted to make this change to get past this request from Apple. It seems like they'll slowly take over the English vocabulary and we'll have to rename all our properties.

dyld: Library not loaded

clock January 26, 2015 03:52 by author Administrator

Just recently a customer reported an issue. 

1) When I copy the IOS component framework to my own project and The iOS component framework doesn't start for both simulator and the physical iPhone 6 plus device
dyld: Library not loaded: @rpath/iOSComponentsLibrary.framework/iOSComponentsLibrary
  Referenced from: /Users/Family/Library/Developer/CoreSimulator/Devices/CC2AA91D-0342-4528-8F3E-8786513A8843/data/Containers/Bundle/Application/9BBA58A3-3465-4D91-91CA-325352ED0BAD/

  Reason: image not found


In the General settings tab of your app. Please add iOSComponentsLibrary.framework to the Embedded  Binaries section.
Please see the screenshot for details.

How to support various fonts in the iOS DataGrid component

clock November 7, 2014 06:22 by author Administrator

Recently, a customer reported an issue with the fontName attribute no longer taking effect. This bug was fixed, but we wanted to make a quick blog post to demonstrate the difference between the font specifications for the various different types of cells. 

In the FLXSFlexDataGrid, there are the folowing types of cells:


  1. Data Cells [FLXSFlexDataGridDataCell]
  2. Header Cells [FLXSFlexDataGridHeaderCell]
  3. Footer Cells [FLXSFlexDataGridFooterCell]
  4. Filter Cells [FLXSFlexDataGridFilterCell]
  5. Toolbar Cell [FLXSFlexDataGridPagerCell]
  6. Column Group Cells [FLXSFlexDataGridColumnGroupCells]
Each of these cells has its own fontName information. and properties to set them. The only exception is the data cell. This cell will use the fontName attribute from the grid itself. Attached below is an example of how to customize the various different cells.



And the associated XCode project (you will need to add your copy of the iOSComponents library to compile this project). (55.51 kb)

iOS 8 Support Added

clock September 18, 2014 05:40 by author Administrator

It is that time of the year again! Apple has released iOS 8, and we have been busy ensuring everything is working with our product with iOS8 correctly. We are glad to announce that the latest release of iOSComponents is fully compatible with iOS8. For customers with valid subscription, this update is available free of cost! Please email our support team and they will send you the build.

Happy coding!

iOS DataGrid Toolbar Customization

clock August 3, 2014 10:25 by author Administrator

One of the most frequently asked questions is how to customize the top level toolbar. There are many flags on the grid like enablePaging, enableExport, enableSettings etc that let you show or hide the buttons, The icons are customizable as well, by specifying a new iconFilePrefix (and providing icons with that prefix), or simply overwriting the default icons that are included in FLXSResources. However, sometimes you may want to further customize the toolbar, for example, adding new buttons altogether. This you can easily accomplish by providing what we refer to as a custom pager renderer. 

Attached to this blog post is the default pager renderer. Once you write your own, you simply plug it into the grid by calling the grid’s setPagerRenderer method with parameter [[FLXSClassFactory alloc] init:[YourPagerControl class] withProperties:nil].

The default pager renderer is below:

iOS DataGrid - Some FAQs

clock June 11, 2014 18:00 by author Administrator

The iOS Components iOS DataGrid is a very powerful tool. Our support team regularly assists our customers with questions and tips. In this blog post, we are going to cover some questions that our customers have asked, and our responses:


1)      Is it possible to decrease or increase the height of rows in the Data Grid Table in a fixed way?

Absolutely. There are many ways to do this. First, and the easiest is to simply set the “rowHeight” property, either in your XML configuration for the grid, or via the API. The value is in pixels. While you are at it, we also have footerRowHeight, filterRowHeight, headerRowHeight, pagerRowHeight (this is the height of the toolbar). Secondly, we have the concept of variable row heights. This is important when you have large blocks of text that don’t fit in one row. The way this works is that you set variableRowHeight=true, and then on the column that holds the variable height text, you set wordWrap=true. This makes the grid measure the amount of space required to render the row completely without cropping and assign the tallest such height of each cell with wordWrap to the entire row.

2)      How to set text align?

Similar to above, there is a textAlign property on each column. Just set it to one of “left”, “right” or “center” strings. Similar to textAlign, there is headerAlign, footerAlign. One caveat, is that the current release has textAlign as a NSString. The values if you set in XML is left, right or center, but if you do this programmatically, please use one of the integer values (In quotes as a string) e.g. col.textAlign=@”1”;// this is center


  • NSTextAlignmentLeft = 0,
  • NSTextAlignmentCenter = 1,
  • NSTextAlignmentRight = 2,
  • NSTextAlignmentJustified = 3,
  • NSTextAlignmentNatural = 4,


3)      Is it possible to simply change the color of the text and/or background of a column ?

Absolutely : In your xml, set columnTextColor="0xFF0000" backgroundColor="0x000000". This will color the text red and the background black. You can also do this from code if you set column.columnTextColor = [UIColor redColor]. There are numerous properties that help you set colors for various cells – headerColors, footerColors, pagerColors, columnGroupColors, alternatingItemColors. For headerColors, footerColors, pagerColors, and columnGroupColors, you can specify multiple items in the array and it will generate a gradient. For alternatingItemColors, it is an array of alternating item colors for the rows. Finally, if all these properties are not enough for your needs, you can programmatically set colors. If you see our examples, there is a demo called Programmatic Cell Formatting, which demonstrates this. Moreover, if you look at FLXSStyleManager in the demo code, you will see a vast API that allows you to customize the look and feel of the grid. You can also use the built in themes: [[FLXSStyleManager instance] applyOfficeBlueStyle:flxsDataGrid];

iOSComponents Team Blog

Tag cloud