Xtragrid第二级窗体为什么不可编辑?

lilindiudiu 2006-08-17 03:07:46
在点开加号后的Datagrid里,明明把标题改为订单号,订单日期什么的,可显示出来的仍然是OrderID,OrderDate表中字段的名字,而且想让OrderID这一列隐藏也隐藏不了,在上一级的DataGrid的里没有这个问题,为什么呢?
...全文
97 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
lilindiudiu 2006-08-17
  • 打赏
  • 举报
回复
非常感谢,第一次用这个控件,好麻烦,我再看看
zxkid 2006-08-17
  • 打赏
  • 举报
回复
我全部是写代码的,不用界面
贴我的代码作为参考

#region 表格控件
gridControl1.MainView.Dispose();
gridViewCustomerOrder = new StyledGridView(gridControl1);
gridControl1.MainView = gridViewCustomerOrder;

gridControl1.DataSource = dsProduceOrder.Tables["CustomerPurchaseOrder"];
gridControl1.ForceInitialize();

gridControl1.ViewRegistered += new ViewOperationEventHandler(gridControl1_ViewRegistered);
gridControl1.ProcessGridKey += new KeyEventHandler(gridControl1_ProcessGridKey);
#endregion
#region 客户订单表格
gridViewCustomerOrder.PopulateColumns(dsProduceOrder.Tables["CustomerPurchaseOrder"]);

gridViewCustomerOrder.Appearance.Row.ForeColor = FormMain.ReadOnlyFieldHeaderForeColor;
gridViewCustomerOrder.OptionsBehavior.Editable = false;

List<string> InVisibleColumns = new List<string>();
InVisibleColumns.AddRange(new string[] { "CPO_RowID", "Receiver", "ArriveDate", "AddDate", "UserID" });

foreach (string column in InVisibleColumns)
{
gridViewCustomerOrder.Columns.ColumnByFieldName(column).Visible = false;
}
gridViewCustomerOrder.Columns.ColumnByFieldName("Quantity").Caption = "RequiredQty";
//gridViewCustomerOrder.Columns.ColumnByFieldName("Quantity").AppearanceCell.BackColor = Color.LightGreen;
//gridViewCustomerOrder.Columns.ColumnByFieldName("MatchedQty").AppearanceCell.BackColor = Color.LightGreen;
gridViewCustomerOrder.BestFitColumns();
#endregion
#region 产单表格
gridViewProduceOrder = new StyledGridView(gridControl1);
gridControl1.LevelTree.Nodes.Add("ProduceOrder", gridViewProduceOrder);
gridViewProduceOrder.PopulateColumns(dsProduceOrder.Tables["ProduceOrder"]);

gridViewProduceOrder.Appearance.Row.ForeColor = FormMain.ReadOnlyFieldHeaderForeColor;
gridViewProduceOrder.Appearance.HeaderPanel.ForeColor = FormMain.ReadOnlyFieldHeaderForeColor;
gridViewProduceOrder.OptionsBehavior.Editable = false;

gridViewProduceOrder.Columns.ColumnByFieldName("PO_RowID").Visible = false;
gridViewProduceOrder.Columns.ColumnByFieldName("CPO_RowID").Visible = false;
gridViewProduceOrder.Columns.ColumnByFieldName("SampleID").Visible = false;
gridViewProduceOrder.Columns.ColumnByFieldName("ReceiptQty").Visible = false;
#endregion
#region 产单接收表格
gridViewProduceOrderReceive = new StyledGridView(gridControl1);
gridControl1.LevelTree.Nodes["ProduceOrder"].Nodes.Add("ProduceOrderReceive", gridViewProduceOrderReceive);
gridViewProduceOrderReceive.PopulateColumns(dsProduceOrder.Tables["ProduceOrderReceive"]);

gridViewProduceOrderReceive.Appearance.Row.ForeColor = FormMain.ReadOnlyFieldHeaderForeColor;

gridViewProduceOrderReceive.Columns.ColumnByFieldName("PO_RowID").Visible = false;
gridViewProduceOrderReceive.Columns.ColumnByFieldName("POR_RowID").Visible = false;

List<string> ReadOnlyColumns = new List<string>();
ReadOnlyColumns.AddRange(new string[] { "PO_RowID", "POR_RowID", "ReceiveDate", "ReceiveQty",
"Checked", "AddDate", "UserID" });

foreach (string column in ReadOnlyColumns)
{
gridViewProduceOrderReceive.Columns.ColumnByFieldName(column).OptionsColumn.AllowEdit = false;
gridViewProduceOrderReceive.Columns.ColumnByFieldName(column).AppearanceHeader.ForeColor = FormMain.ReadOnlyFieldHeaderForeColor;
}
#endregion
lilindiudiu 2006-08-17
  • 打赏
  • 举报
回复
就是改Column的属性,把Visible改成Fasle,改名是把Caption改成想要的名字
zxkid 2006-08-17
  • 打赏
  • 举报
回复
你是如何改名和隐藏的?
贴代码
zxkid 2006-08-17
  • 打赏
  • 举报
回复
不会的,我的没这个问题

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧