Solved

Treeview Bind datatable to Checkbox - How to

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

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Question has a verified solution.

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

If you have ever found yourself doing a repetitive action with the mouse and keyboard, and if you have even a little programming experience, there is a good chance that you can use a text editor to whip together a sort of macro to automate the proce…
Whether you've completed a degree in computer sciences or you're a self-taught programmer, writing your first lines of code in the real world is always a challenge. Here are some of the most common pitfalls for new programmers.
This Micro Tutorial hows how you can integrate  Mac OSX to a Windows Active Directory Domain. Apple has made it easy to allow users to bind their macs to a windows domain with relative ease. The following video show how to bind OSX Mavericks to …
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…

772 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