Solved

Treeview Bind datatable to Checkbox - How to

Posted on 2010-11-15
2
1,295 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

Salesforce Made Easy to Use

On-screen guidance at the moment of need enables you & your employees to focus on the core, you can now boost your adoption rates swiftly and simply with one easy tool.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Windows Mobile 6.5 device Apache Flex 3 48
Issue when running a SSIS package (.dts) from an SQL job 21 83
Best way to accomplish this task? 3 89
What is MicroStrategy.NET? 2 73
This article describes how to programmatically preset the "Pages per Sheet" option that's available with most printer drivers.   This setting lets you do "n-Up" printing, where two, four, or more pages are printed on each sheet of paper. If your …
A theme is a collection of property settings that allow you to define the look of pages and controls, and then apply the look consistently across pages in an application. Themes can be made up of a set of elements: skins, style sheets, images, and o…
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…

830 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