Solved

Treeview Bind datatable to Checkbox - How to

Posted on 2010-11-15
2
1,291 Views
Last Modified: 2013-11-12
I have a datatable that looks like   NAME,  ISseelcted
I need to create a TREEView with a CHECKBOX and bind it to the datatable...
thanks
0
Comment
Question by:JElster
  • 2
2 Comments
 
LVL 29

Expert Comment

by:Gautham Janardhan
ID: 34142816
sample below
XAML



<TreeView ItemsSource="{Binding Table.DefaultView}">

            <TreeView.ItemTemplate>

                <DataTemplate>

                    <StackPanel >

                        <TextBlock Text="{Binding Row[0]}"/>

                        <TextBlock Text="{Binding Row[1]}"/>

                    </StackPanel>

                </DataTemplate>

            </TreeView.ItemTemplate>

        </TreeView>





code behind



public partial class Window1 : Window

    {

        public Window1()

        {

            InitializeComponent();

            this.DataContext = this;

            DataRowView view;

            

        }



        public DataTable Table { get; set; }



        protected override void OnInitialized(EventArgs e)

        {

            base.OnInitialized(e);



            Table = new DataTable();

            

            DataColumn cl = new DataColumn("Col1", typeof(string));

            cl.MaxLength = 100;

            Table.Columns.Add(cl);



            cl = new DataColumn("Col2", typeof(string));

            cl.MaxLength = 100;

            Table.Columns.Add(cl);



            DataRow rw = Table.NewRow();

            Table.Rows.Add(rw);

            rw["Col1"] = "Value1";

            rw["Col2"] = "Value2";

        }

    }

Open in new window

0
 
LVL 29

Accepted Solution

by:
Gautham Janardhan earned 250 total points
ID: 34142819
with check box
<Window x:Class="TestTableBinding.Window1"

    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

    Title="Window1" Height="300" Width="300">

    <Grid>

        <TreeView ItemsSource="{Binding Table.DefaultView}">

            <TreeView.ItemTemplate>

                <DataTemplate>

                    <StackPanel >

                        <TextBlock Text="{Binding Row[0]}"/>

                        <CheckBox IsChecked="{Binding Row[1]}"/>

                    </StackPanel>

                </DataTemplate>

            </TreeView.ItemTemplate>

        </TreeView>

    </Grid>

</Window>





public partial class Window1 : Window

    {

        public Window1()

        {

            InitializeComponent();

            this.DataContext = this;

            DataRowView view;

            

        }



        public DataTable Table { get; set; }



        protected override void OnInitialized(EventArgs e)

        {

            base.OnInitialized(e);



            Table = new DataTable();

            

            DataColumn cl = new DataColumn("Col1", typeof(string));

            cl.MaxLength = 100;

            Table.Columns.Add(cl);



            cl = new DataColumn("Col2", typeof(string));

            cl.MaxLength = 100;

            Table.Columns.Add(cl);



            DataRow rw = Table.NewRow();

            Table.Rows.Add(rw);

            rw["Col1"] = "true value";

            rw["Col2"] = true;



            rw = Table.NewRow();

            Table.Rows.Add(rw);

            rw["Col1"] = "false value";

            rw["Col2"] = false;

        }

    }

Open in new window

0

Featured Post

Highfive + Dolby Voice = No More Audio Complaints!

Poor audio quality is one of the top reasons people don’t use video conferencing. Get the crispest, clearest audio powered by Dolby Voice in every meeting. Highfive and Dolby Voice deliver the best video conferencing and audio experience for every meeting and every room.

Join & Write a Comment

This article shows how to make a Windows 7 gadget that accepts files dropped from the Windows Explorer.  It also illustrates how to give your gadget a non-rectangular shape and how to add some nifty visual effects to text displayed in a your gadget.…
This article shows how to make a Windows 7 gadget that extends its U/I with a flyout panel -- a window that pops out next to the gadget.  The example gadget shows several additional techniques:  How to automatically resize a gadget or flyout panel t…
This is Part 3 in a 3-part series on Experts Exchange to discuss error handling in VBA code written for Excel. Part 1 of this series discussed basic error handling code using VBA. http://www.experts-exchange.com/videos/1478/Excel-Error-Handlin…
This video shows how to remove a single email address from the Outlook 2010 Auto Suggestion memory. NOTE: For Outlook 2016 and 2013 perform the exact same steps. Open a new email: Click the New email button in Outlook. Start typing the address: …

747 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

12 Experts available now in Live!

Get 1:1 Help Now