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. ACM学习历程—HDU 2795 Billboard(线段树)

    Description At the entrance to the university, there is a huge rectangular billboard of size h*w (h ...

  2. bzoj 4515: 游戏 树链剖分+线段树

    题目大意: http://www.lydsy.com/JudgeOnline/problem.php?id=4515 题解: 先让我%一发lych大佬点我去看dalao的题解 讲的很详细. 这里纠正一 ...

  3. VirtualBox下安装MacOS11

    8.键盘选中 “简体中文” -- > "拼音模式".VirtualBox安装Mac OS 10.11 ,安装日期:2016 / 5 / 14 用虚拟机装黑苹果本人也装了不下3 ...

  4. 洛谷P1525关押罪犯——二分做法

    题目:https://www.luogu.org/problemnew/show/P1525 二分答案,二分图染色判断是否可行. 代码如下: #include<iostream> #inc ...

  5. Vijos1790:拓扑编号

    描述 H国有n个城市,城市与城市之间有m条单向道路,满足任何城市不能通过某条路径回到自己. 现在国王想给城市重新编号,令第i个城市的新的编号为a[i],满足所有城市的新的编号都互不相同,并且编号为[1 ...

  6. Repeater 和 GridView 中数据格式化

    GridView中显示两位小数: <asp:BoundField DataField="investmoney" DataFormatString="{0:f2}& ...

  7. 《精通Spring4.X企业应用开发实战》读后感第四章(资源访问)

    package com.smart.resource; import org.springframework.core.io.ClassPathResource; import org.springf ...

  8. g2o中setparameterid(0,0)方法

    其中两个参数的含义: 第二个参数是优化器内添加的参数的id.当你调用addEdge来添加这条边时,会根据第二个参数的id,把相应的参数地址给边,以后边内的成员函数,就根据第一个参数,拿到这个地址.

  9. 将Gridview导出到Excel

    GridViewToExcel(EdceExcelGV, "application/ms-exce","xxxxxx表"); protected void Gr ...

  10. 洛谷P3645 [APIO2015]雅加达的摩天楼(最短路+分块)

    传送门 这最短路的建图怎么和网络流一样玄学…… 一个最朴素的想法是从每一个点向它能到达的所有点连边,边权为跳的次数,然后跑最短路(然而边数是$O(n^2)$除非自创复杂度比spfa和dijkstra还 ...