2013-11-13 2 views
0

У меня есть свойство сетки следующим образом:Как получить все значения ячеек образуют свойств сетки с #

enter image description here

Я хочу, чтобы скопировать все содержимое сетки свойств в виде сетки данных (dataGeriView1) при нажатии кнопки отправки.

Как это сделать? Пожалуйста, помогите.

ответ

0

Ниже приведен фрагмент примера, который я создал для решения вышеуказанной проблемы. Создайте DataGridview, добавив имя столбца, возраст, адрес электронной почты, телефон.

public partial class Form1 : Form 
{ 
    public Form1() 
    { 
     InitializeComponent(); 
    } 
    private void Form1_Load(object sender, EventArgs e) 
    { 
     Student std = new Student {Name = "Vimal" , Phone = "PhoneValue", Email="mymail",Age=24}; 
     propertyGrid1.SelectedObject= std; 
    } 

    private void button1_Click(object sender, EventArgs e) 
    { 
     int index = dataGridView1.Rows.Count - 1; 
     Student std = (Student)propertyGrid1.SelectedObject; 
     dataGridView1.Rows[index].Cells["Name"].Value = std.Name; 
     dataGridView1.Rows[index].Cells["Age"].Value = std.Age; 
     dataGridView1.Rows[index].Cells["Email"].Value = std.Email; 
     dataGridView1.Rows[index].Cells["Phone"].Value = std.Phone; 
    } 
} 

public class Student 
{ 
    public int Age { get; set; } 
    public string Email { get; set; } 
    public string Name { get; set; } 
    public string Phone { get; set; } 
} 
1
private void Submit_Click(object sender, EventArgs e) 
    { 
     //propertyGrid1.SelectedObject = this; 
     dataGridView1.Columns.Add("Property", "Property"); 
     dataGridView1.Columns.Add("Value", "Value"); 
     GridItem gi = propertyGrid1.SelectedGridItem; 

     while (gi.Parent != null)    
      gi = gi.Parent; 

     foreach (GridItem item in gi.GridItems)    
      ParseGridItems(item); //recursive 

     dataGridView1.Sort(dataGridView1.Columns["Property"], ListSortDirection.Ascending); 

    } 
    private void ParseGridItems(GridItem gi) 
    { 
     if (gi.GridItemType == GridItemType.Category)    
      foreach (GridItem item in gi.GridItems)     
       ParseGridItems(item);     

     dataGridView1.Rows.Add(gi.Label, gi.Value); 

    } 

адаптировано из https://stackoverflow.com/a/12109186/1163434

Смежные вопросы