Кул не добавить флажок в Dataatable во время выполнения C # wpf - PullRequest
0 голосов
/ 06 октября 2009

приватная пустота SetAppData () { ArrayList alDiscoveredNodes = this.DiscoverNetworNodes ();

        //initializeViewDataTable will add colums to ViewDataTable that will be shown on View
        initializeViewDataTable(alDiscoveredNodes);

        Application.Current.Dispatcher.BeginInvoke(System.Windows.Threading.DispatcherPriority.Normal, (setPopulateTree)delegate(ArrayList alNodes)
        {
            this.PopulateTreeView(alNodes);
            //this.DrawChart(dtProtocolDetails);                

        }, alDiscoveredNodes);

        //GetNetworkComputers objGetNetworkComputers = new GetNetworkComputers(100);
        DataTable dtProtocolInfo = objCProtocols.ScanForProtocols(alDiscoveredNodes);

        //Calling populateViewDataTable will take dtProtocolInfo by reference and then it will create 
        // another datatable that is for viewsing purpose
        populateViewDataTable(ref dtProtocolInfo);

        Application.Current.Dispatcher.BeginInvoke(System.Windows.Threading.DispatcherPriority.Normal, (setData)delegate(DataTable dtProtocolDetails)
        {
            dataGridRunningProtocols.DataContext = dtProtocolDetails;


        }, dtProtocolInfo);


        Application.Current.Dispatcher.BeginInvoke(System.Windows.Threading.DispatcherPriority.Normal, (setChartData)delegate(ref DataTable dtProtocolDetails)
        {

            try
            {
                DrawChart(dtProtocolDetails);                   

            }
            catch (Exception exc)
            {

                MessageBox.Show(exc.InnerException.ToString());
            }
        }, dtProtocolInfo);


        Application.Current.Dispatcher.BeginInvoke(System.Windows.Threading.DispatcherPriority.Normal, (setChartTitle)delegate(string strTitle)
        {
            mainChart.Title = "Protocol Availability Over Network";


        }, "");
        //pThread.Abort();
       // splash.Close(new TimeSpan(00, 00, 3));

    }

    /// <summary>
    /// It will add Columns to DataTable at run time according to columns defined in
    /// ProtocolConfigration Array
    /// </summary>
    private void initializeViewDataTable(ArrayList alHosts)
    {
        DataColumn dt = null;
        viewDataTable = new DataTable();
        viewDataTable.Columns.Add("Host");
        for (int i = 0; i < ProtocolConfiguration.STR_ARR_PROTOCOLS.Length; i++)
        {
            //viewDataTable.Columns.Add(ProtocolConfiguration.STR_ARR_PROTOCOLS[i][1] + " (" + ProtocolConfiguration.STR_ARR_PROTOCOLS[i][0] + " )", System.Type.GetType("System.Boolean"));                
            dt = new DataColumn(ProtocolConfiguration.STR_ARR_PROTOCOLS[i][1] + " (" + ProtocolConfiguration.STR_ARR_PROTOCOLS[i][0] + " )");
            //dt.DataType = typeof(System.Windows.Controls.CheckBox);
            dt.DataType = typeof(bool);
            viewDataTable.Columns.Add(dt);                
        }

       foreach (string strHost in alHosts)
       {


           //CheckBox cbTemp = new CheckBox();
           //cbTemp.IsChecked = true;
           viewDataTable.Rows.Add(strHost, false);
       }
    }

Я хочу добавить флажок напротив некоторых пользователей в сетке данных через таблицу данных. Например, если пользователь не запускает протокол FTP на своем компьютере, я должен установить флажок, который не установлен, чтобы показать, что у этого пользователя не работает протокол FTP на его компьютере ... любая помощь, пожалуйста

Ответы [ 2 ]

1 голос
/ 28 октября 2014
private void DrawChart() {

ArrayList ar= new ArrayList();
ar.Add("one");
    ar.Add("two");
    ar.Add("three");

        for (int i = 0; i <ar.count ; i++)
        {
                           addRecursiveLedgendAfterInit(ar[i], 50);
        }
    }
private void addRecursiveLedgendAfterInit(string legend,int legendvalue) {

        ICollection<KeyValuePair<String, int>> data = new Dictionary<String, int>();
        data.Add(new KeyValuePair<string, int>(legend, legendvalue));

            ColumnSeries mycolseries = new ColumnSeries
            {
                ItemsSource = data,

                Title = legend,
                IndependentValuePath = "Key",
                DependentValuePath = "Value",

            };

            mainChart.Series.Add(mycolseries);
    }
0 голосов
/ 07 октября 2009

приватная пустота SetAppData () { ArrayList alDiscoveredNodes = this.DiscoverNetworNodes ();

        //initializeViewDataTable will add colums to ViewDataTable that will be shown on View
        initializeViewDataTable(alDiscoveredNodes);

        Application.Current.Dispatcher.BeginInvoke(System.Windows.Threading.DispatcherPriority.Normal, (setPopulateTree)delegate(ArrayList alNodes)
        {
            this.PopulateTreeView(alNodes);
            //this.DrawChart(dtProtocolDetails);                

        }, alDiscoveredNodes);

        //GetNetworkComputers objGetNetworkComputers = new GetNetworkComputers(100);
        DataTable dtProtocolInfo = objCProtocols.ScanForProtocols(alDiscoveredNodes);

        //Calling populateViewDataTable will take dtProtocolInfo by reference and then it will create 
        // another datatable that is for viewsing purpose
        populateViewDataTable(ref dtProtocolInfo);

        Application.Current.Dispatcher.BeginInvoke(System.Windows.Threading.DispatcherPriority.Normal, (setData)delegate(DataTable dtProtocolDetails)
        {
            dataGridRunningProtocols.DataContext = dtProtocolDetails;


        }, dtProtocolInfo);


        Application.Current.Dispatcher.BeginInvoke(System.Windows.Threading.DispatcherPriority.Normal, (setChartData)delegate(ref DataTable dtProtocolDetails)
        {

            try
            {
                DrawChart(dtProtocolDetails);                   

            }
            catch (Exception exc)
            {

                MessageBox.Show(exc.InnerException.ToString());
            }
        }, dtProtocolInfo);


        Application.Current.Dispatcher.BeginInvoke(System.Windows.Threading.DispatcherPriority.Normal, (setChartTitle)delegate(string strTitle)
        {
            mainChart.Title = "Protocol Availability Over Network";


        }, "");
        //pThread.Abort();
       // splash.Close(new TimeSpan(00, 00, 3));

    }

    /// <summary>
    /// It will add Columns to DataTable at run time according to columns defined in
    /// ProtocolConfigration Array
    /// </summary>
    private void initializeViewDataTable(ArrayList alHosts)
    {
        DataColumn dt = null;
        viewDataTable = new DataTable();
        viewDataTable.Columns.Add("Host");
        for (int i = 0; i < ProtocolConfiguration.STR_ARR_PROTOCOLS.Length; i++)
        {
            //viewDataTable.Columns.Add(ProtocolConfiguration.STR_ARR_PROTOCOLS[i][1] + " (" + ProtocolConfiguration.STR_ARR_PROTOCOLS[i][0] + " )", System.Type.GetType("System.Boolean"));                
            dt = new DataColumn(ProtocolConfiguration.STR_ARR_PROTOCOLS[i][1] + " (" + ProtocolConfiguration.STR_ARR_PROTOCOLS[i][0] + " )");
            //dt.DataType = typeof(System.Windows.Controls.CheckBox);
            dt.DataType = typeof(bool);
            viewDataTable.Columns.Add(dt);                
        }

       foreach (string strHost in alHosts)
       {


           //CheckBox cbTemp = new CheckBox();
           //cbTemp.IsChecked = true;
           viewDataTable.Rows.Add(strHost, false);
       }
    }

Я хочу добавить флажок напротив некоторых пользователей в сетке данных через таблицу данных. Например, если пользователь не запускает протокол FTP на своем компьютере, я должен установить флажок, который не установлен, чтобы показать, что у этого пользователя не работает протокол FTP на его компьютере ... любая помощь, пожалуйста

...