добавление строк в сетку devexpress с использованием цикла for в datatable

#c# #devexpress

#c# #devexpress

Вопрос:

Я новичок в devexpress, поэтому у меня здесь простой вопрос.чему равен этот код в devexpres gridview.

 for(int i=0;i<dtable.rows.count;i  )
{
  myGridview.Rows.Add();
  myGridview.Rows[i].Cells[0].value =dtable.Rows[i][0].tostring();
  myGridview.Rows[i].Cells[1].value = dtable.Rows[i][1].tostring();
}
  

Комментарии:

1. Пожалуйста, воспользуйтесь справкой DevExpress, которая содержит множество примеров, или обратитесь в Справочный центр DevExpress website…at по крайней мере, сначала приложите некоторые усилия со своей стороны.

2. Спасибо @NeillVerreynne за ваш комментарий. Но я погуглил и не нашел точного ответа, соответствующего моему вопросу.

Ответ №1:

Сетка не хранит данные. Это означает, что вы должны добавить строки в его источник данных, чтобы заставить элемент управления отображать их. Вот очень простой код, который делает это:

 public class Record {
        public Record(int id) {
            this.Id = id;
            this.Data = string.Format("Record {0}", id);
        }
        public int Id { get; set; }
        public string Data { get; set; }
    }

    public partial class Form1: Form {
        public Form1() {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e) {

            BindingList<Record> dataSource = new BindingList<Record>();
            gridControl1.DataSource = dataSource;
            for(int i = 0; i < 10; i  )
                dataSource.Add(new Record(i));
        }
    }
  

Комментарии:

1. После цикла for также может потребоваться GridView1.RefreshData() . Я никогда не понимал, когда это необходимо и когда оно автоматически срабатывает

2. Спасибо @platon. Я буду использовать datasource для заполнения представления сетки devexpress.