I don't think what you want is achievable using *just* WiX authoring.
You would need to use a custom UI handler for this, which is something that
I don't have any experience with, and from what I do know about it is that
it is quite a bit of work.

Perhaps you need to ask yourself if it's really so important to have it like
this.

Or you could try going back to SharpSetup and asking them to help.


Bevan

-----Original Message-----
Date: Fri, 27 Dec 2013 16:23:23 +0530
From: ak m <wixak...@gmail.com>
Subject: Re: [WiX-users] ListView Creation

Hi Bevan Weiss,

Thank you for the information.

My UI looks as in the link....


 
ListViewDlg.JPG<https://docs.google.com/file/d/0Bx3lIuciPpX5anZzRkJUckFPUlU/
edit?usp=drive_web>

Please help me to create this...


On Thu, Dec 26, 2013 at 8:34 AM, Bevan Weiss <kaize...@hotmail.com> wrote:

> Instantiating the ListView is easy
>
> <Control Id="ListView1" Property="ListViewProperty" Type="ListView"
> X="SomeX" Y="WhyNot?" Width="wide" Height="short" Sorted="yes">
>   <ListView Property="ListViewProperty">
>     <!-- If we will be populating this dynamically nothing to put here..
> -->
>   </ListView>
> </Control>
>
> <EnsureTable Id="ListView" />
>
> We use the EnsureTable since otherwise it might not be included in the MSI
> if it doesn't contain anything... but we need it to exist so that we can
> update it dynamically later.
> Might not actually be needed (since it's referenced with the Control), but
> it doesn't hurt to include it.
>
>
> Then the custom action would be something like... (in C# because it's my
> current favourite language)
> ... do stuff to get the thingsYouWant
> Microsoft.Deployment.WindowsInstaller.View lView =
> session.Database.OpenView("SELECT * FROM ListView");
> lView.Execute();
> int iOrder = 1;
> foreach(Thing thing in thingsYouWant)
> {
>   try
>   {
>     Record lRecord = session.Database.CreateRecord(5);
>     lRecord.SetString(1, "ListViewProperty");
>     lRecord.SetInteger(2, iOrder);
>     lRecord.SetString(3, thing.HashCode()); // we use the hashcode,
because
> then we can easily find what they selected... use something else if it's
> more appropriate
>     lRecord.SetString(4, thing. ToString()); // or thing.Name + " - " +
> thing.No + " - " + thing.pincode
>     // lRecord.SetXXX(5) we leave this as null, unless we have put some
> icons into the binary table.. then we would populate this with the binary
> table identifier
>     iOrder++;
>
>     lView.Modify(ViewModifyMode.InsertTemporary, lRecord);
>   }
>   catch
>   {
>     continue;
>   }
> }
>
> This is how to add items to the ListView controls dynamically.
> Hopefully it's helpful for someone...

------------------------------------------------------------------------------
Rapidly troubleshoot problems before they affect your business. Most IT 
organizations don't have a clear picture of how application performance 
affects their revenue. With AppDynamics, you get 100% visibility into your 
Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!
http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to