【问题标题】:DevExpress GridView | DataGridViewDevExpress 网格视图 |数据网格视图
【发布时间】:2014-01-18 18:13:33
【问题描述】:

我想使用 DevExpress 的 GridView 执行以下操作,请问我该怎么做?

List<RCDATA_INDEX> somethings = new List<RCDATA_INDEX>();

foreach (DataGridViewRow row in (IEnumerable)this.dataGridView1.Rows)
{
    AZ.RCDATA_INDEX items = new AZ.RCDATA_INDEX
    {
        datasize = Convert.ToUInt32(row.Cells[5].Value.ToString())
    };
    item.filenum = Convert.ToUInt32(row.Cells[2].Value.ToString()[7].ToString());
    item.hash = row.Cells[1].Value.ToString();
    item.realname = row.Cells[3].Value.ToString();
    item.offset = Convert.ToUInt32(row.Cells[4].Value.ToString());
    item.new_value = row.Cells[6].Value.ToString();
    somethings.Add(items);
}

【问题讨论】:

    标签: c# winforms devexpress


    【解决方案1】:

    您可以使用以下方法逐一遍历 GridView 中的所有数据行:

    // Obtain the number of data rows. 
    int dataRowCount = gridView.DataRowCount;
    // Traverse data rows  
    for (int i = 0; i < dataRowCount; i++) {
        object cellValue = gridView.GetRowCellValue(i, "... specify field name here ...");
        // do something with cell Value
    
    }
    

    请参阅Traversing RowsObtaining and Setting Cell Values 帮助文章了解更多信息;

    【讨论】:

      【解决方案2】:

      我更喜欢使用 BindingSource 并将其绑定到 Gridview。之后,如果您想对数据进行操作。你只需要这样调用:

      List<RCDATA_INDEX> somethings = new List<RCDATA_INDEX>();
      var Result = RCDataBS.Cast<RCDATA_INDEX>();
      somethings.AddRange(Result);
      

      使用此代码会更容易,您无需花费资源将所有数据转换为模型。

      【讨论】:

        最近更新 更多