Получение данных с программно созданных элементов - 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("!");
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д