改变列宽和抬头
隐藏某一列
获取某一列的值
我的绑定代码
DataGridTableStyle ts1
=
new
DataGridTableStyle();
ts1.MappingName = str_HistoryOrderTableName;
this .dg_HistoryOrder.TableStyles.Add(ts1);
this .dg_HistoryOrder.TableStyles[str_HistoryOrderTableName].GridColumnStyles[ " 用餐开始时间 " ].Width = 80 ;
this .dg_HistoryOrder.TableStyles[str_HistoryOrderTableName].GridColumnStyles[ " 用餐开始时间 " ].HeaderText = " wori " ;
ts1.MappingName = str_HistoryOrderTableName;
this .dg_HistoryOrder.TableStyles.Add(ts1);
this .dg_HistoryOrder.TableStyles[str_HistoryOrderTableName].GridColumnStyles[ " 用餐开始时间 " ].Width = 80 ;
this .dg_HistoryOrder.TableStyles[str_HistoryOrderTableName].GridColumnStyles[ " 用餐开始时间 " ].HeaderText = " wori " ;
隐藏某一列
ds_Customer.Tables[c_str_CUSTOMERINFOTABLE].Columns[CustomerData.c_str_InitPKID_FILED].ColumnMapping
=
MappingType.Hidden;
获取某一列的值
DataView dv_Tmp
=
(DataView)
this
.dg_Content.DataSource;
int i_PKID = Convert.ToInt32(dv_Tmp[ this .dg_Content.CurrentRowIndex].Row[ 0 ]);
int i_PKID = Convert.ToInt32(dv_Tmp[ this .dg_Content.CurrentRowIndex].Row[ 0 ]);
我的绑定代码
if
(dsOrder
==
null
)
{ dsOrder=wsOrderService.QueryOrdersForDisp("","","","",""); }
if (dsCar == null )
{ dsCar=wsCarService.GetAllAvailableCars();}
dgOrders.DataSource = dsOrder.Tables[ 0 ].DefaultView;
dgOrders.ReadOnly = true ;
dgOrders.CaptionVisible = false ;
DataGridTableStyle tableStyle = new DataGridTableStyle();
tableStyle.MappingName = dsOrder.Tables[ 0 ].TableName;
// 第一列 订单号
DataGridTextBoxColumn TextCol = new DataGridTextBoxColumn();
TextCol.MappingName = " order_no " ; // 列名
TextCol.HeaderText = " 订单号 " ;
TextCol.Alignment = HorizontalAlignment.Center;
TextCol.Width = 90 ;
tableStyle.GridColumnStyles.Add(TextCol); // 为TableStyle添加列
TextCol.Dispose();
TextCol = null ;
// 第二列 乘客姓名
TextCol = new DataGridTextBoxColumn();
TextCol.MappingName = " name " ; // 列名
TextCol.HeaderText = " 乘客姓名 " ;
TextCol.Alignment = HorizontalAlignment.Center;
tableStyle.GridColumnStyles.Add(TextCol); // 为TableStyle添加列
TextCol.Dispose();
TextCol = null ;
// 第三列 上车时间
TextCol = new DataGridTextBoxColumn();
TextCol.MappingName = " pu_date_time " ; // 列名
TextCol.HeaderText = " 上车时间 " ;
TextCol.Alignment = HorizontalAlignment.Center;
TextCol.Width = 120 ;
tableStyle.GridColumnStyles.Add(TextCol); // 为TableStyle添加列
TextCol.Dispose();
TextCol = null ;
// 第四列 上车地点
TextCol = new DataGridTextBoxColumn();
TextCol.MappingName = " pu_address " ; // 列名
TextCol.HeaderText = " 上车地点 " ;
TextCol.Width = 180 ;
tableStyle.GridColumnStyles.Add(TextCol); // 为TableStyle添加列
TextCol.Dispose();
TextCol = null ;
// 第五列 下车地点
TextCol = new DataGridTextBoxColumn();
TextCol.MappingName = " dest_address " ; // 列名
TextCol.HeaderText = " 下车地点 " ;
TextCol.Width = 180 ;
tableStyle.GridColumnStyles.Add(TextCol); // 为TableStyle添加列
TextCol.Dispose();
TextCol = null ;
// 第六列 订单状态
DataGridComboBoxColumn ComboTextCol = new DataGridComboBoxColumn();
ComboTextCol.MappingName = " o_status " ; // dsOrderStatus.Tables[0].TableName; // DataSet中的相应DataTable名称
ComboTextCol.HeaderText = " 订单状态 " ;
ComboTextCol.Alignment = HorizontalAlignment.Center;
ComboTextCol.Width = 100 ;
ComboTextCol.ColumnComboBox.DataSource = dsOrderStatus.Tables[ 0 ].DefaultView; // 必须用DataView
ComboTextCol.ColumnComboBox.DisplayMember = " status_descr " ; // 要显示的字段名
ComboTextCol.ColumnComboBox.ValueMember = " status_id " ; // 值的字段名
// tableStyle.PreferredRowHeight = ComboTextCol.ColumnComboBox.Height + 2;
ComboTextCol.Alignment = HorizontalAlignment.Center;
tableStyle.GridColumnStyles.Add(ComboTextCol); // 为TableStyle添加列
ComboTextCol.Dispose();
ComboTextCol = null ;
// 第七列 车辆列表
ComboTextCol = new DataGridComboBoxColumn();
ComboTextCol.MappingName = " car_no " ; // dsCar.Tables[0].TableName; // DataSet中的相应DataTable名称
ComboTextCol.HeaderText = " 车辆编号 " ;
ComboTextCol.Alignment = HorizontalAlignment.Center;
ComboTextCol.Width = 70 ;
DataTable dt = dsCar.Tables[ 0 ];
ComboTextCol.ColumnComboBox.DataSource = dt.DefaultView; // 必须用DataView
ComboTextCol.ColumnComboBox.DisplayMember = " car_no " ; // 要显示的字段名
ComboTextCol.ColumnComboBox.ValueMember = " car_no " ; // 值的字段名
// ComboTextCol.ColumnComboBox.Items.Insert(0,"-");
ComboTextCol.NullText = "" ;
// tableStyle.PreferredRowHeight = ComboTextCol.ColumnComboBox.Height + 2;
ComboTextCol.Alignment = HorizontalAlignment.Center;
tableStyle.GridColumnStyles.Add(ComboTextCol); // 为TableStyle添加列
ComboTextCol.Dispose();
ComboTextCol = null ;
// 第八列 车辆状态
ComboTextCol = new DataGridComboBoxColumn();
ComboTextCol.MappingName = " c_status " ; // dsCar.Tables[0].TableName; // DataSet中的相应DataTable名称
ComboTextCol.HeaderText = " 车辆状态 " ;
ComboTextCol.Alignment = HorizontalAlignment.Center;
ComboTextCol.Width = 70 ;
ComboTextCol.ColumnComboBox.DataSource = dsCarStatus.Tables[ 0 ].DefaultView; // 必须用DataView
ComboTextCol.ColumnComboBox.DisplayMember = " status_descr " ; // 要显示的字段名
ComboTextCol.ColumnComboBox.ValueMember = " status_id " ; // 值的字段名
// ComboTextCol.ColumnComboBox.Items.Insert(0,"-");
ComboTextCol.NullText = "" ;
// tableStyle.PreferredRowHeight = ComboTextCol.ColumnComboBox.Height + 2;
ComboTextCol.Alignment = HorizontalAlignment.Center;
tableStyle.GridColumnStyles.Add(ComboTextCol); // 为TableStyle添加列
ComboTextCol.Dispose();
ComboTextCol = null ;
// 第九列 提交按钮
DataGridButtonColumn textButtonCol = new DataGridButtonColumn( 8 ); // 参数指名列数,从0开始
textButtonCol.MappingName = " button " ; // 对应字段名称或别名
// textButtonColStyle.HeaderText = "动作"; // 列头名称
// 与点击按钮后的事件关联
textButtonCol.CellButtonClicked +=
new DataGridCellButtonClickEventHandler(HandleCellButtonClick);
textButtonCol.Alignment = HorizontalAlignment.Center;
tableStyle.GridColumnStyles.Add(textButtonCol); // 为TableStyle添加列
// 添加鼠标事件,使得按钮可以被点击
if ( ! isDefinedEvent)
{
dgOrders.MouseDown += new MouseEventHandler(textButtonCol.HandleMouseDown);
dgOrders.MouseUp += new MouseEventHandler(textButtonCol.HandleMouseUp);
isDefinedEvent=true;
}
textButtonCol.Dispose();
textButtonCol = null ;
// 为DataGrid指定TableStyle
dgOrders.TableStyles.Clear();
dgOrders.TableStyles.Add(tableStyle);
{ dsOrder=wsOrderService.QueryOrdersForDisp("","","","",""); }
if (dsCar == null )
{ dsCar=wsCarService.GetAllAvailableCars();}
dgOrders.DataSource = dsOrder.Tables[ 0 ].DefaultView;
dgOrders.ReadOnly = true ;
dgOrders.CaptionVisible = false ;
DataGridTableStyle tableStyle = new DataGridTableStyle();
tableStyle.MappingName = dsOrder.Tables[ 0 ].TableName;
// 第一列 订单号
DataGridTextBoxColumn TextCol = new DataGridTextBoxColumn();
TextCol.MappingName = " order_no " ; // 列名
TextCol.HeaderText = " 订单号 " ;
TextCol.Alignment = HorizontalAlignment.Center;
TextCol.Width = 90 ;
tableStyle.GridColumnStyles.Add(TextCol); // 为TableStyle添加列
TextCol.Dispose();
TextCol = null ;
// 第二列 乘客姓名
TextCol = new DataGridTextBoxColumn();
TextCol.MappingName = " name " ; // 列名
TextCol.HeaderText = " 乘客姓名 " ;
TextCol.Alignment = HorizontalAlignment.Center;
tableStyle.GridColumnStyles.Add(TextCol); // 为TableStyle添加列
TextCol.Dispose();
TextCol = null ;
// 第三列 上车时间
TextCol = new DataGridTextBoxColumn();
TextCol.MappingName = " pu_date_time " ; // 列名
TextCol.HeaderText = " 上车时间 " ;
TextCol.Alignment = HorizontalAlignment.Center;
TextCol.Width = 120 ;
tableStyle.GridColumnStyles.Add(TextCol); // 为TableStyle添加列
TextCol.Dispose();
TextCol = null ;
// 第四列 上车地点
TextCol = new DataGridTextBoxColumn();
TextCol.MappingName = " pu_address " ; // 列名
TextCol.HeaderText = " 上车地点 " ;
TextCol.Width = 180 ;
tableStyle.GridColumnStyles.Add(TextCol); // 为TableStyle添加列
TextCol.Dispose();
TextCol = null ;
// 第五列 下车地点
TextCol = new DataGridTextBoxColumn();
TextCol.MappingName = " dest_address " ; // 列名
TextCol.HeaderText = " 下车地点 " ;
TextCol.Width = 180 ;
tableStyle.GridColumnStyles.Add(TextCol); // 为TableStyle添加列
TextCol.Dispose();
TextCol = null ;
// 第六列 订单状态
DataGridComboBoxColumn ComboTextCol = new DataGridComboBoxColumn();
ComboTextCol.MappingName = " o_status " ; // dsOrderStatus.Tables[0].TableName; // DataSet中的相应DataTable名称
ComboTextCol.HeaderText = " 订单状态 " ;
ComboTextCol.Alignment = HorizontalAlignment.Center;
ComboTextCol.Width = 100 ;
ComboTextCol.ColumnComboBox.DataSource = dsOrderStatus.Tables[ 0 ].DefaultView; // 必须用DataView
ComboTextCol.ColumnComboBox.DisplayMember = " status_descr " ; // 要显示的字段名
ComboTextCol.ColumnComboBox.ValueMember = " status_id " ; // 值的字段名
// tableStyle.PreferredRowHeight = ComboTextCol.ColumnComboBox.Height + 2;
ComboTextCol.Alignment = HorizontalAlignment.Center;
tableStyle.GridColumnStyles.Add(ComboTextCol); // 为TableStyle添加列
ComboTextCol.Dispose();
ComboTextCol = null ;
// 第七列 车辆列表
ComboTextCol = new DataGridComboBoxColumn();
ComboTextCol.MappingName = " car_no " ; // dsCar.Tables[0].TableName; // DataSet中的相应DataTable名称
ComboTextCol.HeaderText = " 车辆编号 " ;
ComboTextCol.Alignment = HorizontalAlignment.Center;
ComboTextCol.Width = 70 ;
DataTable dt = dsCar.Tables[ 0 ];
ComboTextCol.ColumnComboBox.DataSource = dt.DefaultView; // 必须用DataView
ComboTextCol.ColumnComboBox.DisplayMember = " car_no " ; // 要显示的字段名
ComboTextCol.ColumnComboBox.ValueMember = " car_no " ; // 值的字段名
// ComboTextCol.ColumnComboBox.Items.Insert(0,"-");
ComboTextCol.NullText = "" ;
// tableStyle.PreferredRowHeight = ComboTextCol.ColumnComboBox.Height + 2;
ComboTextCol.Alignment = HorizontalAlignment.Center;
tableStyle.GridColumnStyles.Add(ComboTextCol); // 为TableStyle添加列
ComboTextCol.Dispose();
ComboTextCol = null ;
// 第八列 车辆状态
ComboTextCol = new DataGridComboBoxColumn();
ComboTextCol.MappingName = " c_status " ; // dsCar.Tables[0].TableName; // DataSet中的相应DataTable名称
ComboTextCol.HeaderText = " 车辆状态 " ;
ComboTextCol.Alignment = HorizontalAlignment.Center;
ComboTextCol.Width = 70 ;
ComboTextCol.ColumnComboBox.DataSource = dsCarStatus.Tables[ 0 ].DefaultView; // 必须用DataView
ComboTextCol.ColumnComboBox.DisplayMember = " status_descr " ; // 要显示的字段名
ComboTextCol.ColumnComboBox.ValueMember = " status_id " ; // 值的字段名
// ComboTextCol.ColumnComboBox.Items.Insert(0,"-");
ComboTextCol.NullText = "" ;
// tableStyle.PreferredRowHeight = ComboTextCol.ColumnComboBox.Height + 2;
ComboTextCol.Alignment = HorizontalAlignment.Center;
tableStyle.GridColumnStyles.Add(ComboTextCol); // 为TableStyle添加列
ComboTextCol.Dispose();
ComboTextCol = null ;
// 第九列 提交按钮
DataGridButtonColumn textButtonCol = new DataGridButtonColumn( 8 ); // 参数指名列数,从0开始
textButtonCol.MappingName = " button " ; // 对应字段名称或别名
// textButtonColStyle.HeaderText = "动作"; // 列头名称
// 与点击按钮后的事件关联
textButtonCol.CellButtonClicked +=
new DataGridCellButtonClickEventHandler(HandleCellButtonClick);
textButtonCol.Alignment = HorizontalAlignment.Center;
tableStyle.GridColumnStyles.Add(textButtonCol); // 为TableStyle添加列
// 添加鼠标事件,使得按钮可以被点击
if ( ! isDefinedEvent)
{
dgOrders.MouseDown += new MouseEventHandler(textButtonCol.HandleMouseDown);
dgOrders.MouseUp += new MouseEventHandler(textButtonCol.HandleMouseUp);
isDefinedEvent=true;
}
textButtonCol.Dispose();
textButtonCol = null ;
// 为DataGrid指定TableStyle
dgOrders.TableStyles.Clear();
dgOrders.TableStyles.Add(tableStyle);