You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

DevExpress Grid Control:遍历网格行更新指定部门价格

遍历DevExpress Grid Control并更新指定行价格的解决方案

方式一:操作绑定数据源(推荐)

DevExpress GridControl通常绑定DataTable、自定义实体集合等数据源,直接操作数据源是最高效的方式,之后刷新网格即可同步显示。

若数据源为DataTable:

// 获取GridControl绑定的DataTable
DataTable dataTable = gridControl1.DataSource as DataTable;
if (dataTable != null)
{
    foreach (DataRow row in dataTable.Rows)
    {
        // 匹配部门编号78102(注意数据类型:若Department是数字则用(int)row["Department"] == 78102)
        if (row["Department"].ToString() == "78102")
        {
            // 更新价格,示例设置为150.00
            row["Price"] = 150.00;
        }
    }
    // 刷新网格同步数据
    gridControl1.RefreshDataSource();
}

若数据源为自定义实体集合(如List):

假设实体类定义如下:

public class Item
{
    public int ItemNo { get; set; }
    public int Department { get; set; }
    public string Description { get; set; }
    public int StoreNumber { get; set; }
    public decimal Price { get; set; }
}

操作代码:

List<Item> itemList = gridControl1.DataSource as List<Item>;
if (itemList != null)
{
    foreach (Item item in itemList)
    {
        if (item.Department == 78102)
        {
            item.Price = 150.00m; // 更新价格
        }
    }
    gridControl1.RefreshDataSource();
}

方式二:直接遍历GridView可视化行

如果未绑定数据源或需要直接操作UI行,可遍历GridView的行集合:

// 遍历GridView的所有行
for (int i = 0; i < gridView1.RowCount; i++)
{
    // 获取当前行的Department字段值
    object deptValue = gridView1.GetRowCellValue(i, "Department");
    if (deptValue != null && deptValue.ToString() == "78102")
    {
        // 设置Price字段值
        gridView1.SetRowCellValue(i, "Price", 150.00);
    }
}

注意事项

  • 确保代码中使用的列名(如"Department"、"Price")与GridView列的FieldName属性完全一致;
  • 匹配部门编号时要注意数据类型:若Department是整数类型,需用数值比较而非字符串比较;
  • 若使用BindingSource作为中间层,需先获取bindingSource1.DataSource再进行操作。

内容的提问来源于stack exchange,提问作者Khu RJ

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 20:56:05