Scott Hanselman

How to show multiple columns in an ASP.NET Mobile ObjectList

July 21, 2006 Comment on this post [1] Posted in ASP.NET
Sponsored By

An object list with one columnWhen using ASP.NET Mobile Controls to display a list of information, you'll usually use an ObjectList and databinding. ObjectList is a great control with lousy documentation.

When you turn off AutoGenerateFields and bind a collection of objects to the list - as I'm in banking, my example is always "Accounts" - you need to give a list of Fields that you want to bind to.

<mobile:ObjectList
        ID="listAccounts"
        Runat="server" 
        AutoGenerateFields="False" 
        TableFields="Description;AvailableBalance">
    <Command Name="AccountHistory" Text="Account History" />
    <Command Name="Transfer" Text="Make a Transfer" />
        <Field DataField="Description" Name="Description" Title="Account" />
        <Field DataField="NumberMasked" Name="NumberMasked" Title="Number" />
        <Field DataField="AvailableBalance" DataFormatString="${0:0,0.00}" Name="AvailableBalance"
            Title="Balance" />
        <Field DataField="Index" Name="Index" Visible="False" />

</mobile:ObjectList>

An object list with two columnsHere's the icky part. By default the list will only show the FIRST field - in my case "Description" - in the list. It'll be hyperlinked to a subform that will show the rest of the fields. Remember, we're designing for mobile here.

The useful little-known/documented trick is that if you put a semicolon separated list of DateFields in the TableFields attribute you'll get multiple columns when the ObjectList first displays.

One other unrelated note. For some reason when I use DataFormatString="C" to format the decimal AvailableBalance as a Currency, I get a string star-like character. Perhaps something wrong with the current UI culture. I worked/hacked around it with a format string like DataFormatString="${0:0,0.00}" for now.

 

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook twitter subscribe
About   Newsletter
Hosting By
Hosted in an Azure App Service
July 21, 2006 4:25
Damn, I wish my bank would do stuff like that! :)

Thanks for the post Scott - I didn't even know that control existed!!

Nic

Comments are closed.

Disclaimer: The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.