using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Linq;
using System.Windows.Forms;
using DevExpress.XtraEditors;
using DevExpress.XtraEditors.Repository; namespace Thread {
public partial class XtraForm1 : DevExpress.XtraEditors.XtraForm {
private IList<Order> list = null;
private IList<OrderGoods> orderGoods = null;
public XtraForm1() {
InitializeComponent();
list = GetOrders();
orderGoods = GetOrderGoods();
} private IList<Order> GetOrders() {
var list = new List<Order>();
list.Add(new Order { OrderNo = "A001", Rearmk = "Rearmk1" });
list.Add(new Order { OrderNo = "A002", Rearmk = "Rearmk2" });
list.Add(new Order { OrderNo = "A003", Rearmk = "Rearmk3" });
return list;
} private IList<OrderGoods> GetOrderGoods() {
var list = new List<OrderGoods>();
list.Add(new OrderGoods { OrderNo = "A001", Qty = , GoodsNo = "G01" });
list.Add(new OrderGoods { OrderNo = "A001", Qty = , GoodsNo = "G02" });
list.Add(new OrderGoods { OrderNo = "A001", Qty = , GoodsNo = "G03" }); list.Add(new OrderGoods { OrderNo = "A002", Qty = , GoodsNo = "G04" });
list.Add(new OrderGoods { OrderNo = "A002", Qty = , GoodsNo = "G05" });
list.Add(new OrderGoods { OrderNo = "A002", Qty = , GoodsNo = "G06" }); list.Add(new OrderGoods { OrderNo = "A003", Qty = , GoodsNo = "G07" });
list.Add(new OrderGoods { OrderNo = "A003", Qty = , GoodsNo = "G08" });
list.Add(new OrderGoods { OrderNo = "A003", Qty = , GoodsNo = "G09" }); return list;
} private void XtraForm1_Load(object sender, EventArgs e) {
this.gridControl1.DataSource = list;
} private void gridView1_RowClick(object sender, DevExpress.XtraGrid.Views.Grid.RowClickEventArgs e) { } private void gridControl1_Click(object sender, EventArgs e) {
} DataTable table; private void gridView1_FocusedRowChanged(object sender, DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs e) {
var order = gridView1.GetFocusedRow() as Order;
table = GetOrderGoodsTable(order.OrderNo);
this.gridControl2.DataSource = table;
} private DataTable GetOrderGoodsTable(string gNo) { if (gNo == "A001") {
table = new DataTable("CartonExTemp");
table.Columns.Add(new DataColumn("GoodsNo", typeof(string)));
table.Columns.Add(new DataColumn("X", typeof(int)));
table.Columns.Add(new DataColumn("M", typeof(int)));
table.Columns.Add(new DataColumn("L", typeof(int)));
table.Rows.Add("G001", , , );
table.Rows.Add("G002", , , );
table.Rows.Add("G003", , , );
}
else if (gNo == "A002") {
table = new DataTable("CartonExTemp");
table.Columns.Add(new DataColumn("GoodsNo", typeof(string)));
table.Columns.Add(new DataColumn("", typeof(int)));
table.Columns.Add(new DataColumn("", typeof(int)));
table.Rows.Add("G003", , );
table.Rows.Add("G004", , );
table.Rows.Add("G005", , );
}
else { table = new DataTable("CartonExTemp");
table.Columns.Add(new DataColumn("GoodsNo", typeof(string)));
table.Columns.Add(new DataColumn("", typeof(int)));
table.Columns.Add(new DataColumn("", typeof(int)));
table.Rows.Add("G003", , );
table.Rows.Add("G004", , );
table.Rows.Add("G005", , );
}
return table;
} private void gridView2_DataSourceChanged(object sender, EventArgs e) {
gridView2.Columns.Clear();
foreach (DataColumn dc in table.Columns) {
var gridColumn1 = gridView2.Columns.AddVisible(dc.ColumnName);
if (dc.ColumnName == "GoodsNo") {
gridColumn1.Caption = "货号";
gridColumn1.OptionsColumn.AllowEdit = false;
gridColumn1.Width = ;
}
else {
gridColumn1.ColumnEdit = new RepositoryItemSpinEdit();
}
}
gridView2.BestFitColumns();
} } public class Order {
public string OrderNo { get; set; }
public string Rearmk { get; set; }
} public class OrderGoods {
public string GoodsNo { get; set; }
public int Qty { get; set; }
public string OrderNo { get; set; }
}
}

回车事件,转到下一可编辑的单元格

  private void gridView1_KeyDown(object sender, KeyEventArgs e) {
GridView grid = sender as GridView; if (e.KeyCode == Keys.Enter) {
int focusedRowHandle = grid.FocusedRowHandle; int index = GetNextIndex(grid);
this.Text = string.Format("index={0},grid.FocusedColumn.VisibleIndex={1}", index, grid.FocusedColumn.VisibleIndex);
if (index == grid.VisibleColumns.Count - ) {
focusedRowHandle++;
}
BeginInvoke(new MethodInvoker(() => {
grid.FocusedRowHandle = focusedRowHandle;
grid.FocusedColumn = grid.VisibleColumns[index];
grid.ShowEditor();
})); }
}

DevExpress GridControl 控件二表连动的更多相关文章

  1. DevExpress GridControl控件行内新增、编辑、删除添加选择框

    以下为内容以图片居多1234表示点击顺序 先新增一行 操作和新增数据行一样 打开ColumnEdit  选择new ButtenEdit  new上方会出现一个系统命名的button 命名可以更改必须 ...

  2. DevExpress GridControl控件行内新增、编辑、删除添加选择框(转)

    http://blog.csdn.net/m1654399928/article/details/21951519 1.首先到GridControl控件设计里设置属性Repository    (In ...

  3. 设置DevExpress GridControl控件时间列显示时、分、秒样式

    如题,如果Dev GridControl控件绑定DataTable数据源时,DataTable中的某一列为Date类型时,GridControl默认显示样式只显示当前日期,并不会将时.分.秒显示出来. ...

  4. DevExpress GridControl 控件点滴

    一.常用控件样式 public void setDgv(DevExpress.XtraGrid.Views.Grid.GridView gridView1) { gridView1.OptionsVi ...

  5. DevExpress gridControl控件动态绑定列 zt

    DataTable dt = =Query.GetCustome=(ref customColumnCount); //绑定列 gridView.Columns.Add(}); gridView.Co ...

  6. DevExpress之GridControl控件小知识

    DevExpress之GridControl控件小知识 一.当代码中的DataTable中有建数据关系时,DevExpress 的 GridControl 会自动增加一个子视图 .列名也就是子表的字段 ...

  7. DevExpress控件的GridControl控件小结

    DevExpress控件的GridControl控件小结 (由于开始使用DevExpress控件了,所以要点滴的记录一下) 1.DevExpress控件组中的GridControl控件不能使横向滚动条 ...

  8. DevExpress的GridControl控件更新數據問題解決辦法

    開發WPF程序時,使用Devexpress的GridControl控件用ItemSource綁定數據,在頁面進行編輯時,當屬性繼承INotifyPropertyChanged接口時會同步更新後臺數據. ...

  9. 【转】Devexpress使用之:GridControl控件(合并表头)

    Devexpress系列控件功能很强大,使用起来也不太容易,我也是边摸索边使用,如果有时间我会把常用控件的使用方法整理出来的. using System; using System.Collectio ...

随机推荐

  1. jQuery圆形统计图(百分比)转 作者:月光光

    今天我给大家介绍一款圆形统计图circliful,它基于HTML5的画布和jQuery,无需使用图像轻松实现圆形统计图,而且有很多属性设置,使用起来非常方便. 如何使用circliful 将jquer ...

  2. POJ-3680:Intervals (费用流)

    You are given N weighted open intervals. The ith interval covers (ai, bi) and weighs wi. Your task i ...

  3. vim 模式下的几个快捷用法

    1.ctrl + v  (-- VISUAL BLOCK --) 选中块模式,y 复制,d 剪切,p 粘贴,Esc退出模式 2.Shift + v  (-- VISUAL LINE -- ) 快速行选 ...

  4. P1204 [USACO1.2]挤牛奶Milking Cows

    题目描述 三个农民每天清晨5点起床,然后去牛棚给3头牛挤奶.第一个农民在300秒(从5点开始计时)给他的牛挤奶,一直到1000秒.第二个农民在700秒开始,在 1200秒结束.第三个农民在1500秒开 ...

  5. 打印菱形(Print Diamond/Lozenge)

      → ↓     *       * * *   * * * * *   * * *       *     总结了一下关于打印菱形的思路. 通常是从循环变量之间的映射关系入手,推导出相应的公式.这 ...

  6. 闪回之 Flashback Query (dml表、过程、函数、包等)、Flashback version Query

    Flashback Query 背景:Flashback 是 ORACLE 自 9i 就开始提供的一项特性,在 9i 中利用oracle 查询多版本一致的特点,实现从回滚段中读取表一定时间内操作过的数 ...

  7. 几个重要的 ASM Disk Groups 参数

    几个重要的Disk group 属性: 1. ACCESS_CONTROL.ENABLED该属性用来控制某个disk group 上ASM FILE Access Control. 该参数有2个值:t ...

  8. CentOS7的网络配置

    1.DNS配置 新安装的虚拟机,ping 内网IP可以,但是ping 外网域名却失败,告知“Name or service not known”. 原来是因为需要在/etc/sysconfig/net ...

  9. 51nod 1218 最长递增子序列 V2——LIS+思路(套路)

    题目:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1218 自己怎么连这种 喜闻乐见的大水题 都做不出来了…… 好像见过 ...

  10. MangoDB篇章(1)

    关系型数据库遵循ACID规则 事务(transaction)4个特性:原子性(A).一致性(C).独立性(I).持久性(D) : 分布式系统(distributed system): 由多台计算机和通 ...