【问题标题】:C# Devexpress xtragird with multiple lookupedit in rowsC# Devexpress xtragird 在行中具有多个查找编辑
【发布时间】:2015-06-29 15:41:20
【问题描述】:

我正在使用使用 DevExpress 工具的 c# 开发一个 Windows 应用程序。 我有一个网格,它在一行中包含多个查找编辑。 我必须以这样一种方式绑定每一行,即当第一个查找编辑更改时,绑定中同一行中的相邻查找编辑。 我可以使用“添加行”按钮动态添加行。

如何在第一次查找编辑更改时绑定第二次查找编辑。 在每次查找值更改时,只有一行受到影响,所有前一行都应保持不变。

我被困了好几天 - 谁能帮帮我?

提前致谢。

这是我的训练

private void leGridSubinventory_EditValueChanged(object sender, EventArgs e)
        {
            gvReservation.PostEditor();
            gvReservation.UpdateCurrentRow();
            GridView view = gvReservation;
            var obj = view.GetFocusedRow();
            int locationId = Common.intCast(leOutlets.EditValue);
            LookUpEdit sub = (LookUpEdit)sender;
            view.SetRowCellValue(view.FocusedRowHandle, view.Columns["itemId"], -1);
            view.SetRowCellValue(view.FocusedRowHandle, view.Columns["ItemDesc"], "");
            view.SetRowCellValue(view.FocusedRowHandle, view.Columns["PrimaryUOM"], "");
            view.SetRowCellValue(view.FocusedRowHandle, view.Columns["OnHandQty"], 0);
            view.SetRowCellValue(view.FocusedRowHandle, view.Columns["OnHandQty"], 0);
            if (sub.ItemIndex != -1)
            {
                int subId = Common.intCast(sub.EditValue);
                if (subId != -1)
                {
                    DataTable dtItems = cdm.GetAllItemsBySubinventory(locationId, subId);
                    DataRow locRow = dtItems.NewRow();
                    locRow["itemId"] = -1;
                    locRow["itemCode"] = "--Select--";
                    dtItems.Rows.InsertAt(locRow, 0);

                    rleItemCode.DataSource = dtItems;
                    rleItemCode.DisplayMember = "itemCode";
                    rleItemCode.ValueMember = "itemId";


                }
            }
        }

【问题讨论】:

    标签: c# .net devexpress xtragrid devexpress-windows-ui


    【解决方案1】:

    如您所知,lookuedit 对所有行都有相同的数据源。
    您需要两次更新该数据源
    1)关于gridview的FocusRowChanged事件
    2)在 CellValueChanged 事件上(对于您的第一列)

    所以在上述事件中调用了一个函数 UpdateLokkupDatasource。
    在此函数中获取焦点行(以便您可以读取第一个字段)并更新数据源

    不要忘记处理第二个 lookupEdit 的 CustomDisplayText 事件(您将需要这个,因为新数据源中将不存在值)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-10-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-17
      相关资源
      最近更新 更多