日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

DataGridView內(nèi)包含ComboBox列 實(shí)現(xiàn)選定ComboBox的項(xiàng)數(shù)據(jù)的聯(lián)動(dòng).

 順溜的書(shū)架 2014-10-25
2007-12-05 11:18 2437人閱讀 評(píng)論(1) 收藏 舉報(bào)

首先要綁定 ComboBox 然后綁定DataGridView

            

             DataSet dsProp = new DataSet();
             DataSet dsCond 
= new DataSet();
             DataSet dsCond1 
= new DataSet();
             DataSet dsCond2 
= new DataSet();
            
try
            
{
                dsProp 
= App.DbService.GetStandardControlProp(intPrjCode, intStationId, intModuleId, intPointId);
                dsCond 
= App.DbService.GetStandardControlCond(intPrjCode,intStationId, intModuleId,1);
                dsCond1 
= App.DbService.GetStandardControlCond(intPrjCode, intStationId, intModuleId, 2);
                dsCond2 
= App.DbService.GetStandardControlCond(intPrjCode, intStationId, intModuleId, 3);
                dsStationInfo 
= App.DbService.getStationNameDs(intPrjCode);
                
            }

            
catch (Exception ex)
            
{
                MessageBox.Show(ex.Message, 
"Prompt", MessageBoxButtons.OK, MessageBoxIcon.Error);
                
return;
            }

            
if (dsProp == null || dsCond==null)
            
{
                MessageBox.Show(
"數(shù)據(jù)加載失??!");
                
return;
            }

                        
            DataRow drNew 
= dsStationInfo.Tables[0].NewRow();
            drNew[
"stationid"= System.DBNull.Value;
            drNew[
"stationnm"= System.DBNull.Value;
            dsStationInfo.Tables[
0].Rows.InsertAt(drNew, 0);

            StationID.DataSource 
= dsStationInfo.Tables[0];
            StationID.DisplayMember 
= "STATIONNM";
            StationID.ValueMember 
= "STATIONID";
            MODULEID.DataSource 
= dsCond.Tables[0];
            MODULEID.DisplayMember 
= "MODULEID";
            MODULEID.ValueMember 
= "MODULEID";
            POINTNM.DataSource 
= dsCond.Tables[0];
            POINTNM.DisplayMember 
= "POINTNAME";
            POINTNM.ValueMember 
= "POINTID";

            StationID2.DataSource 
= dsStationInfo.Tables[0];
            StationID2.DisplayMember 
= "STATIONNM";
            StationID2.ValueMember 
= "STATIONID";
            MODULENM2.DataSource 
= dsCond1.Tables[0];
            MODULENM2.DisplayMember 
= "MODULEID";
            MODULENM2.ValueMember 
= "MODULEID";
            POINTNM2.DataSource 
= dsCond1.Tables[0];
            POINTNM2.DisplayMember 
= "POINTNAME";
            POINTNM2.ValueMember 
= "POINTID";

            StationID3.DataSource 
= dsStationInfo.Tables[0];
            StationID3.DisplayMember 
= "STATIONNM";
            StationID3.ValueMember 
= "STATIONID";
            MODULENM3.DataSource 
= dsCond2.Tables[0];
            MODULENM3.DisplayMember 
= "MODULEID";
            MODULENM3.ValueMember 
= "MODULEID";
            POINTNM3.DataSource 
= dsCond2.Tables[0];
            POINTNM3.DisplayMember 
= "POINTNAME";
            POINTNM3.ValueMember 
= "POINTID";
            
            dgvList.DataSource 
= InitDT(dsCond.Tables[0].Copy(), 100);
            dgvList2.DataSource 
= InitDT(dsCond1.Tables[0].Copy(), 70);
            dgvList3.DataSource 
= InitDT(dsCond2.Tables[0].Copy(), 71);

注意設(shè)定ComboBox的屬性:DataPropertyName ,然后調(diào)用CellValueChanged事件,此事件主要完成在選定ComboBox時(shí)重新綁定要改變的ComboBox.

 private void dgvList_CellValueChanged(object sender, DataGridViewCellEventArgs e)
        
{
            dgvCellAutoSetValue(e, dgvList);
        }

 

 

private void dgvCellAutoSetValue(DataGridViewCellEventArgs e, DataGridView dgv)
        
{

            
if (e.ColumnIndex == 1)
            
{
                
if (e.RowIndex > -1)
                
{
                    
if (dgv.Rows[e.RowIndex].Cells[1].Value == System.DBNull.Value)
                    
{
                        
return;
                    }

                    DataGridViewComboBoxCell cell 
= (DataGridViewComboBoxCell)dgv.Rows[e.RowIndex].Cells[2];
                    
try
                    
{
                        DataTable DtModule 
= App.DbService.GetModuleIDInfo(intPrjCode, Convert.ToInt16(dgv.Rows[e.RowIndex].Cells[e.ColumnIndex].Value)).Tables[0];
                        
if (DtModule.Rows.Count > 0)
                        
{
                            cell.DataSource 
= DtModule;
                            
                            cell.DisplayMember 
= "MODULEID";
                            cell.ValueMember 
= "MODULEID";

                            
if (cell.Items.Count > 0)
                            
{
                                cell.Value 
= ((DataRowView)cell.Items[0]).Row[cell.ValueMember];
                            }

                        }

                    }

                    
catch (Exception ex)
                    
{
                        MessageBox.Show(ex.Message);
                    }

                }

            }

            
else if (e.ColumnIndex == 2)
            
{
                
if (e.RowIndex > -1)
                
{
                    
if (dgv.Rows[e.RowIndex].Cells[2].Value == System.DBNull.Value || dgv.Rows[e.RowIndex].Cells[1].Value==DBNull.Value)
                    
{
                        
return;
                    }

                    
int stationid = Convert.ToInt16(dgv.Rows[e.RowIndex].Cells[1].Value);
                    
int moduleid = Convert.ToInt16(dgv.Rows[e.RowIndex].Cells[2].Value);
                    DataGridViewComboBoxCell cell 
= (DataGridViewComboBoxCell)dgv.Rows[e.RowIndex].Cells[3];
                    
try
                    
{
                        DataTable DtPoint 
= App.DbService.GetPointInfo(intPrjCode, stationid, moduleid).Tables[0];
                        
if (DtPoint.Rows.Count > 0)
                        
{
                            cell.DataSource 
= DtPoint;
                            cell.DisplayMember 
= "POINTNAME";
                            cell.ValueMember 
= "POINTID";
                            
if (cell.Items.Count > 0)
                            
{
                                cell.Value 
= ((DataRowView)cell.Items[0]).Row[cell.ValueMember];
                            }

                        }

                    }

                    
catch (Exception ex)
                    
{
                        MessageBox.Show(ex.Message);
                    }

                }

            }

        }

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多