Получение данных с программно созданных элементов - C# (212662)

Узнай цену своей работы

Формулировка задачи:

Использую следующий код для программного создания DataGridView. Вопрос: Как теперь получить доступ к созданному элементу
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using FirebirdSql.Data.FirebirdClient;
 
namespace WindowsFormsApplication4
{
    public partial class Form1 : Form
    {
        DataGridView _grid;
        public Form1()
        {
            InitializeComponent();

        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
            DataGridView _grid = new DataGridView();
            _grid.Dock = DockStyle.Fill;
            _grid.AllowUserToAddRows = false;
            Controls.Add(_grid);
            _grid.Columns.Add(new DataGridViewTextBoxColumn());
            _grid.Columns[0].HeaderText = "TextBoxColumn";
            _grid.Columns.Add(new DataGridViewLinkColumn());
            _grid.Columns[1].HeaderText = "LinkColumn";
            _grid.Columns.Add(new DataGridViewButtonColumn());
            _grid.Columns[2].HeaderText = "ButtonColumn";
            _grid.Columns.Add(new DataGridViewCheckBoxColumn());
            _grid.Columns[3].HeaderText = "CheckBoxColumn";
            _grid.Columns.Add(new DataGridViewComboBoxColumn());
            _grid.Columns[4].HeaderText = "ComboBoxColumn";
            _grid.Columns.Add(new DataGridViewImageColumn());
            _grid.Columns[5].HeaderText = "ViewImageColumn";
 
            _grid.Rows.Add();
 
            for (int i = 0; i <= 3; i++)
            {
                DataGridViewRow heter_row = new DataGridViewRow();
 
                for (int j = 0; j < _grid.Columns.Count; j++)
                    heter_row.Cells.Add(new DataGridViewTextBoxCell());
 
                switch (i)
                {
                    case 0:
                        heter_row.HeaderCell.Value = "Value";
                        break;
                    case 1:
                        heter_row.HeaderCell.Value = "ValueType";
                        break;
                    case 2:
                        heter_row.HeaderCell.Value = "FormattedValue";
                        break;
                    case 3:
                        heter_row.HeaderCell.Value = "FormattedValueType";
                        break;
                }
 
                _grid.Rows.Add(heter_row);
            }
 
            // Заполнение строки 0
 
            DataGridViewRow row0 = _grid.Rows[0];
            row0.HeaderCell.Value = "Внешний вид ячейки";
 
            DataGridViewTextBoxCell cell0 = (DataGridViewTextBoxCell)row0.Cells[0];
            cell0.Value = "dotNET";
 
            DataGridViewLinkCell cell1 = (DataGridViewLinkCell)row0.Cells[1];
            cell1.Value = "RSDN.ru";
 
            DataGridViewButtonCell cell2 = (DataGridViewButtonCell)row0.Cells[2];
            cell2.Value = "Accept";
 
            DataGridViewCheckBoxCell cell3 = (DataGridViewCheckBoxCell)row0.Cells[3];
            cell3.Value = true;
 
            DataGridViewComboBoxCell cell4 = (DataGridViewComboBoxCell)row0.Cells[4];
            cell4.Items.AddRange(new string[] { "Trace", "Debug", "Release" });
            cell4.Value = "Release";
 
            DataGridViewImageCell cell5 = (DataGridViewImageCell)row0.Cells[5];
            cell5.ImageLayout = DataGridViewImageCellLayout.Zoom;
            cell5.Value = Image.FromFile(@"C:\1\1.bmp");
 
            // Заполнение строки 1
            for (int j = 0; j < _grid.Columns.Count; j++)
                _grid.Rows[1].Cells[j].Value = _grid.Rows[0].Cells[j].Value.ToString();
 
            // Заполнение строки 2
            for (int j = 0; j < _grid.Columns.Count; j++)
                _grid.Rows[2].Cells[j].Value =
                 _grid.Rows[0].Cells[j].ValueType.ToString();
 
            // Заполнение строки 3
            for (int j = 0; j < _grid.Columns.Count; j++)
                _grid.Rows[3].Cells[j].Value =
                  _grid.Rows[0].Cells[j].FormattedValue.ToString();
 
            // Заполнение строки 4
            for (int j = 0; j < _grid.Columns.Count; j++)
                _grid.Rows[4].Cells[j].Value =
                  _grid.Rows[0].Cells[j].FormattedValueType.ToString();
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            //int p = Convert.ToInt32(this._grid.CurrentRow.Cells[0].Value);
           /* DataGridViewComboBoxCell cell =
    (DataGridViewComboBoxCell)_grid.Rows[2].Cells[0];
            cell.Items.Clear();
            cell.Items.AddRange(new string[] { "ABC", "KLM", "XYZ" });*/
 
            DataGridViewComboBoxCell comboCell = (DataGridViewComboBoxCell)_grid.Rows[2].Cells[1];
 
            comboCell.Items.AddRange(new string[] { "VS2003", "VS2005", "MSDN", "RSDN" });
        }
    }
}

Решение задачи: «Получение данных с программно созданных элементов»

textual
Листинг программы
ArrayList myAL = new ArrayList();
      myAL.Add("Hello");
      myAL.Add("World");
      myAL.Add("!");

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.667 из 5
Похожие ответы