DataGrid绑定DataSet总结

改变列宽和抬头
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 "

隐藏某一列
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 ]);

我的绑定代码
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);
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值