客运综合管理系统项目—售票管理(库存/取票)

来源:互联网 发布:西点学校排行知乎 编辑:程序博客网 时间:2024/05/11 18:06

2.2 售票管理

2.2.1 库存/取票

库存/取票这个模块包括,入库,出库,按时间查询入库,按时间和接收用户查询出库,取票等功能; 2.2.1(图1)是库存模块的界面,2.2.1(图2)是取票模块的界面,

                                                                                                                2.2.1(图1)


                                                                                                                     2.2.1(图2)

从界面上可以看到我们这里用到的控件有

控件名称

说明

日期控件(DateTimePicker)

控件可以在工具箱直接拖动至窗体,拖至窗体后右击属性可以修改控件的样式和各种属性,还可以编辑事件。右击控件选择属性,在跳出框里面选择带有雷电的图标,在里面可以选择属性

下拉框(ComboBox)

文本(TextBox)

按钮(Button)

表格(DataGridView)

容器(Panel)

查询功能实现:

第一步:数据库

1、表与关系


                                                                                                                    2.2.1(图3)

表1.用户表(dbo.UserList)

列名

数据类型

主键/外键

说明

UserID

int

主键

用户ID

UserNumber

char (100)

 

用户编码

StaffID

int

外键

员工表.员工ID

WorkValue

char (100)

 

工价

LimitsOfAuthorityGroupID

int

外键

权限组ID

Password

char (100)

 

密码

Remarks

char (100)

 

备注

StopUseNo

bit

 

停用否


表2.员工表(dbo.StaffList)

列名

数据类型

主键/外键

说明

StaffID

int

主键

员工ID

StaffNumber

char (100)

 

员工编号

StaffName

char (100)

 

员工姓名

Sex

char (100)

 

性别

IdentityCardNumber

char (100)

 

身份证号

HomeLocation

char (100)

 

家庭地址

Phone

char (100)

 

电话

StaffTypeID

int

外键

员工类型表.员工类型ID

OrganizationID

int

外键

机构表.机构ID

StationID

int

外键

站点表.站点ID

Remarks

char (100)

 

备注

LeaveOfficeNo

bit

 

离职否

InvokingNo

bit

 

调用否

Date

datetime

 

日期

Photo

nvarchar (3000)

 

相片


表3.取票表(ReceiveBillList)

列名

数据类型

主键/外键

说明

ReceiveBillID

int

主键

接收票据ID

UserID

int

外键

用户表.用户ID

BillTypeID

int

外键

票据类型表.票据类型ID

OpenTicketNumber

char (100)

 

开始票号

GetNumber

decimal (18)

 

领用数量

EndTicketNumber

char (100)

 

结束票号

BillStatusID

int

外键

票据状态表.票据状态ID

Remarks

char (100)

 

备注

ReceiveBillTime

datetime

 

取票时间

SurplusNumber

decimal (18)

 

剩余数量


表4.票据状态表(BillStatusList)

列名

数据类型

主键/外键

说明

BillStatusID

int

主键

票据状态ID

BillStatus

char (100)

 

票据状态


1、设置表格(DataGridView)控件(公共静态方法的设定)

 #region 加载dgvCellFormatting方法       public static DataGridView SetDgv(DataGridView  dgv)       {           dgv.CellFormatting += new System.Windows.Forms.DataGridViewCellFormattingEventHandler(dgv_CellFormatting);//公共方法           dgv.MultiSelect = false;//不允许选择多行           dgv.AllowUserToAddRows = false;//不能自动添加行           dgv.ReadOnly = true;//dgv仅仅可以读           dgv.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect;//选择一个单元格,则选择一行数据           dgv.RowHeadersWidthSizeMode = System.Windows.Forms.DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders;//           dgv.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;//对单元格的内容进行调整            return dgv; //返回dgv       }       #endregion       #region 加载dgvCellFormatting方法        public static  void dgv_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)//第二个公共方法       {           try           {               DataGridView dgv = sender as DataGridView;//声明一个dgv               DataGridViewRow CurrentRow = dgv.Rows[e.RowIndex];//dgv的当前行等于               CurrentRow.HeaderCell.Value = Convert.ToString(e.RowIndex + 1);           }           catch { }//try{  }catch{  }当有错误时跳过执行          界面的Load事件: this.dgvBillStock = SYS_PublicStaticClass.SetDgv(dgvBillStock);//显示序号(调用上面静态的方法)

1、(DataGridView)绑定数据

第一步:数据库的存储过程,查询库存的信息

IF @TYPE ='frmSatffTakeTicket_SelectTicketSearch'--dgv的绑定BEGIN    SELECT     ReceiveBillList.ReceiveBillID, LTRIM(RTRIM(ReceiveBillList.OpenTicketNumber))AS OpenTicketNumber,                LTRIM(RTRIM(ReceiveBillList.GetNumber))AS GetNumber, LTRIM(RTRIM(ReceiveBillList.EndTicketNumber))AS EndTicketNumber,               BillStatusList.BillStatusID, UserList.UserID, StaffList.StaffID,                LTRIM(RTRIM(StaffList.StaffName))AS StaffName, LTRIM(RTRIM(BillStatusList.BillStatus))AS BillStatus,                ReceiveBillList.ReceiveBillTime, LTRIM(RTRIM(ReceiveBillList.Remarks))AS Remarks, LTRIM(RTRIM(ReceiveBillList.SurplusNumber))AS SurplusNumber    FROM       ReceiveBillList INNER JOIN                      BillStatusList ON ReceiveBillList.BillStatusID = BillStatusList.BillStatusID INNER JOIN                      UserList ON ReceiveBillList.UserID = UserList.UserID INNER JOIN                      StaffList ON UserList.StaffID = StaffList.StaffID    WHERE ReceiveBillList.BillStatusID=4//范围,当票据状态为领用时符合要求                                                                                                    ORDER BY ReceiveBillList.ReceiveBillTime DESC--按时间从大到小排列END

第二步:逻辑层(BLL)代码

[OperationContract]        public DataSet frmSatffTakeTicket_SelectTicketSearch()//库存的信息        {            SqlParameter[] mySqlParameter = { new SqlParameter("@Type", SqlDbType.Char) };            mySqlParameter[0].Value = "frmSatffTakeTicket_SelectTicketSearch";            DataTable myDataTable = myDALMethod.QueryDataTable("SellTicketManage_frmSatffTakeTicket", mySqlParameter);            DataSet myDataSet = new DataSet();            myDataSet.Tables.Add(myDataTable);            return myDataSet;//返回值        }

第三步:界面层(UIL)代码,在窗体的Load事件中绑定dgv的数据

在Load事件里面写:

 DataTable dtSearch = myfrmSatffTakeTicketClient.frmSatffTakeTicket_SelectTicketSearch().Tables[0];            dgvSearch.DataSource = dtSearch;//DataGridView 名称.数据源=数据集的值


1、下拉框(公共静态方法的设定)

#region 设置下拉框        public static ComboBox SetXiaLaKuang(ComboBox cbo下拉框, DataTable dt数据表, string str列ID, string str列名)        {            try            {                cbo下拉框.DataSource = dt数据表;//下拉框绑定的值                cbo下拉框.DisplayMember = str列名;                cbo下拉框.ValueMember = str列ID;                return cbo下拉框;            }            catch (Exception exc)            {                MessageBox.Show(exc.ToString());                return null;//返回空            }        }        #endregion        #region 设置自动完成源        public static ComboBox SetXiaLaKuang(ComboBox cbo下拉框, DataTable dt数据表, string str列ID, string str列名, bool bol是否完成源)        {            try             {                cbo下拉框.DataSource = dt数据表;                cbo下拉框.DisplayMember = str列名;                cbo下拉框.ValueMember = str列ID;                cbo下拉框.DropDownStyle = ComboBoxStyle.DropDown;                string [] str =new string[dt数据表.Rows.Count];//声明一个数组                for (int x = 0; x < dt数据表.Rows.Count; x++)//循环dt数据表                {                    str[x] = dt数据表.Rows[x][str列名].ToString();                }                cbo下拉框.AutoCompleteSource = AutoCompleteSource.CustomSource;//下拉框的样式                cbo下拉框.AutoCompleteCustomSource.AddRange(str);                cbo下拉框.AutoCompleteMode = AutoCompleteMode.Suggest;                return cbo下拉框;//符返回值给下拉框            }            catch (Exception exc)            {                MessageBox.Show(exc.ToString());                return null;            }        }        #endregion

调用下拉框公共静态方法:

Load事件添加  

 DataTable dtReceiveUser = myfrmSatffTakeTicketClient.frmSatffTakeTicket_SelectSatff().Tables[0];//获取数据集            cboReceiveUser = SYS_PublicStaticClass.SetXiaLaKuang(cboReceiveUser, dtReceiveUser, "UserID", "StaffName");//调用静态方法,控件名+数据集名+用户ID+用户名            cboReceiveUser.SelectedIndex = -1;

1、查询出库信息


第一步:数据库的存储过程,

IF @TYPE ='frmSatffTakeTicket_SelectTicketSearch'--dgv的绑定BEGIN    SELECT     ReceiveBillList.ReceiveBillID, LTRIM(RTRIM(ReceiveBillList.OpenTicketNumber))AS OpenTicketNumber,                LTRIM(RTRIM(ReceiveBillList.GetNumber))AS GetNumber, LTRIM(RTRIM(ReceiveBillList.EndTicketNumber))AS EndTicketNumber,               BillStatusList.BillStatusID, UserList.UserID, StaffList.StaffID,                LTRIM(RTRIM(StaffList.StaffName))AS StaffName, LTRIM(RTRIM(BillStatusList.BillStatus))AS BillStatus,                ReceiveBillList.ReceiveBillTime, LTRIM(RTRIM(ReceiveBillList.Remarks))AS Remarks, LTRIM(RTRIM(ReceiveBillList.SurplusNumber))AS SurplusNumber    FROM       ReceiveBillList INNER JOIN                      BillStatusList ON ReceiveBillList.BillStatusID = BillStatusList.BillStatusID INNER JOIN                      UserList ON ReceiveBillList.UserID = UserList.UserID INNER JOIN                      StaffList ON UserList.StaffID = StaffList.StaffID    WHERE ReceiveBillList.BillStatusID=4////范围,当票据状态为领用时符合要求    ORDER BY ReceiveBillList.ReceiveBillTime DESC--按时间从大到小排列

第二步:逻辑层(BLL)代码,查询的实现

  [OperationContract]        public DataSet frmSatffTakeTicket_SelectTicketSearch()//        {            SqlParameter[] mySqlParameter = { new SqlParameter("@Type", SqlDbType.Char) };            mySqlParameter[0].Value = "frmSatffTakeTicket_SelectTicketSearch";            DataTable myDataTable = myDALMethod.QueryDataTable("SellTicketManage_frmSatffTakeTicket", mySqlParameter);            DataSet myDataSet = new DataSet();            myDataSet.Tables.Add(myDataTable);            return myDataSet;        }

第三步:界面层(UIL)代码,查询的实现

private void btnSearch_Click(object sender, EventArgs e)        {            if (chkTime.Checked == true)//当复选框打上勾时            {                DateTime dtTimeOne = Convert.ToDateTime(dtpTimeOne.Text);                DateTime dtTimeTwo = Convert.ToDateTime(dtpTimeTwo.Text);//声明一个datetine,它的值等于时间控件的数据                string strReceiveUser = cboReceiveUser.Text.ToString().Trim();//声明一个字符串,它的值等于一个下拉框的值                //string strBillType = cboBillType.Text.ToString().Trim();                DataTable dtSearch = myfrmSatffTakeTicketClient.frmSatffTakeTicket_SelectTicketSearch().Tables[0];//数据集获取数据                DataView dv = new DataView(dtSearch);//声明一个DataView,它的数据时数据集的数据                dv.RowFilter = "(ReceiveBillTime>='" + dtTimeOne + "'AND ReceiveBillTime<='" + dtTimeTwo + "')";//选择时间控件的中查询的数据                dgvSearch.DataSource = dv.ToTable();//给dgv赋值                if (cboReceiveUser.Text != "")                {                    DataView dv1 = new DataView(dtSearch);                    dv1.RowFilter = "StaffName like '%" + strReceiveUser + "%'";//选择文本框中查询的数据                    dtSearch = dv1.ToTable();                    dgvSearch.DataSource = dv1;                }                else                {                    dgvSearch.DataSource = dtSearch;                }            }            else            {                string strReceiveUser = cboReceiveUser.Text.ToString().Trim();                DataTable dtSearch = myfrmSatffTakeTicketClient.frmSatffTakeTicket_SelectTicketSearch().Tables[0];                if (cboReceiveUser.Text != "")                {                    DataView dv1 = new DataView(dtSearch);                    dv1.RowFilter = "StaffName like '%" + strReceiveUser + "%'";                    dtSearch = dv1.ToTable();                    dgvSearch.DataSource = dv1;                }                else                {                    dgvSearch.DataSource = dtSearch;                }                timSearchTicket.Enabled = true;                dtpTimeOne.Format = DateTimePickerFormat.Custom;//格式Format                dtpTimeOne.CustomFormat = "yyyy-MM-dd HH:mm";                dtpTimeTwo.Format = DateTimePickerFormat.Custom;                dtpTimeTwo.CustomFormat = "yyyy-MM-dd HH:mm";//设置时间控件的格式为(2015-01-20 16:52)                txtReceiveUser.Text = PublicStaticObject.strStaffName;            }        }

1、新增入库


第一步:数据库的存储过程

IF @TYPE='frmSatffTakeTicket_InsertLaidUp'--新增入库BEGININSERT INTO LaidUpList(LaidUpTime, LaidUpNumber, Remarks)VALUES (@LaidUpTime, @LaidUpNumber, @Remarks)END

第二步:逻辑层(BLL)代码,新增入库信息

[OperationContract]         public int frmSatffTakeTicket_InsertLaidUp(DateTime dtLaidUpTime,string strLaidUpNumber,string strRemarks)//--新增入库         {             SqlParameter[] mySqlParameter = { new SqlParameter("@Type", SqlDbType.Char),                                               new SqlParameter("@LaidUpTime", SqlDbType.DateTime),                                              new SqlParameter("@LaidUpNumber", SqlDbType.Char),                                              new SqlParameter("@Remarks", SqlDbType.Char),};             mySqlParameter[0].Value = "frmSatffTakeTicket_InsertLaidUp";             mySqlParameter[1].Value = dtLaidUpTime;             mySqlParameter[2].Value = strLaidUpNumber;             mySqlParameter[3].Value = strRemarks;             return myDALMethod.UpdateData("SellTicketManage_frmSatffTakeTicket", mySqlParameter);         }

第三步:界面层(UIL)代码

private void btnLaidUp_Click(object sender, EventArgs e)        {            if (txtLaidUp.Text == "")            {                MessageBox.Show("入库数量为空!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);//提示框                return;            }            if (MessageBox.Show("您确定入库,数量为:" + txtLaidUp.Text.ToString().Trim() + "?", "操作提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)//提示框,有确定和取消按钮            {                DateTime dtLaidUpTime = DateTime.Now;//绑定值                string strLaidUpNumber = txtLaidUp.Text.ToString().Trim();                string strRemarks = txtRemarksOne.Text.ToString().Trim();                int i = myfrmSatffTakeTicketClient.frmSatffTakeTicket_InsertLaidUp(dtLaidUpTime, strLaidUpNumber, strRemarks);                if (i > 0)                {                    MessageBox.Show("入库完成!");//提示框                    string strGetNumber = Convert.ToString(Convert.ToDecimal(dgvBillStock.CurrentRow.Cells["GetNumber"].Value) + Convert.ToDecimal(txtLaidUp.Text));//修改库存数                    myfrmSatffTakeTicketClient.frmSatffTakeTicket_UpdateLaidUpNumber(strGetNumber);                    frmSatffTakeTicket_Load(null, null);////执行Load事件,即刷新                    txtLaidUp.Text = "";                    txtRemarksOne.Text = "";                }                else                {                    MessageBox.Show("系统错误!");                    frmSatffTakeTicket_Load(null, null);//刷新                    txtLaidUp.Text = "";//清空文本框                    txtRemarksOne.Text = "";                }            }        }

6、新增出库


第一步:数据库的存储过程

IF @TYPE='frmSatffTakeTicket_InsertCheckTicket'--新增出库BEGININSERT INTO  ReceiveBillList(UserID, OpenTicketNumber, GetNumber,                EndTicketNumber, BillStatusID, Remarks, ReceiveBillTime, SurplusNumber)    VALUES (@UserID, @OpenTicketNumber, @GetNumber,                @EndTicketNumber, @BillStatusID, @Remarks, @ReceiveBillTime, @SurplusNumber)        END

第二步:逻辑层(BLL)代码,

[OperationContract]        public int frmSatffTakeTicket_InsertCheckTicket(int intUserID, string strOpenTicketNumber, Decimal sttGetNumber, string EndTicketNumber,                                                    int intBillStatusID, string strRemarks, DateTime strReceiveBillTime, decimal SurplusNumber)//新增出库        {            SqlParameter[] mySqlParameter = { new SqlParameter("@Type", SqlDbType.Char),                                                new SqlParameter("@UserID", SqlDbType.Int),                                                new SqlParameter("@OpenTicketNumber", SqlDbType.Char),                                                new SqlParameter("@GetNumber", SqlDbType.Decimal),                                                new SqlParameter("@EndTicketNumber", SqlDbType.Char),                                                new SqlParameter("@BillStatusID", SqlDbType.Int),                                                new SqlParameter("@Remarks", SqlDbType.Char),                                                new SqlParameter("@ReceiveBillTime", SqlDbType.DateTime),                                                new SqlParameter("@SurplusNumber", SqlDbType.Decimal)};            mySqlParameter[0].Value = "frmSatffTakeTicket_InsertCheckTicket";            mySqlParameter[1].Value = intUserID;            mySqlParameter[2].Value = strOpenTicketNumber;            mySqlParameter[3].Value = sttGetNumber;            mySqlParameter[4].Value = EndTicketNumber;            mySqlParameter[5].Value = intBillStatusID;            mySqlParameter[6].Value = strRemarks;            mySqlParameter[7].Value = strReceiveBillTime;            mySqlParameter[8].Value = SurplusNumber;            return myDALMethod.UpdateData("SellTicketManage_frmSatffTakeTicket", mySqlParameter);        }

第三步:界面层(UIL)代码

private void btnConfirm_Click(object sender, EventArgs e)        {            try            {                if (MessageBox.Show("您确定要出库?", "操作提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)//提示框,有确定和取消按钮                {                    if (txtStartTicketNumber.Text == "")                    {                        MessageBox.Show("开始票号不能为空!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);//提示框,有确定和取消按钮                        return;                    }                    if (txtCollarUseTicketNumber.Text == "")                    {                        MessageBox.Show("取票数量不能为空!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);                        return;                    }                    if (txtTicketNumber.Text == "")                    {                        MessageBox.Show("结束票号不能为空!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);                        return;                    }                    if (txtStartTicketNumber.Text == "")                    {                        MessageBox.Show("不填备注?", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);                        return;                    }                    int intUserID = PublicStaticObject.UserID;//赋值                    string strOpenTicketNumber = txtStartTicketNumber.Text.ToString().Trim();                    decimal sttGetNumber = Convert.ToDecimal(txtCollarUseTicketNumber.Text.ToString().Trim());                    string EndTicketNumber = txtTicketNumber.Text.ToString().Trim();                    string strRemarks = txtRemarks.Text.ToString().Trim();                    int intBillStatusID = 4;                    decimal SurplusNumber =Convert.ToDecimal(txtCollarUseTicketNumber.Text.ToString().Trim());                    DateTime strReceiveBillTime = Convert.ToDateTime(txtSearchTime.Text.ToString().Trim());                    int i = myfrmSatffTakeTicketClient.frmSatffTakeTicket_InsertCheckTicket(intUserID, strOpenTicketNumber, sttGetNumber, EndTicketNumber,                                                             intBillStatusID, strRemarks, strReceiveBillTime, SurplusNumber);//所新增传递数据的代码                    if (i > 0)                    {                        MessageBox.Show("出库成功!");                        string strGetNumber = Convert.ToString(Convert.ToDecimal(dgvBillStock.CurrentRow.Cells["GetNumber"].Value) - Convert.ToDecimal(txtCollarUseTicketNumber.Text));                        myfrmSatffTakeTicketClient.frmSatffTakeTicket_UpdateNumber(PublicStaticObject.intBillStockID, strGetNumber);                        frmSatffTakeTicket_Load(null, null);//执行Load事件                    }                    else                    {                        MessageBox.Show("出库失败!");//提示框,没有确定和取消按钮                        btnCancel_Click(null, null);                    }                }            }            catch            { }

7、新增集体取票


第一步:数据库的存储过程

IF @TYPE='frmSeatAndTicket_InsertSeatAndTicket'--新增票连座位BEGININSERT INTO  TicketNumberList(TicketNumber, ASeatNumberID, UserNo)VALUES  (@TicketNumber, @ASeatNumberID, @UserNo)        END

第二步:逻辑层(BLL)代码

[OperationContract]        public int frmSeatAndTicket_InsertSeatAndTicket(string strTicketNumber, int intASeatNumberID, bool boolUserNo)//新增取票        {            SqlParameter[] mySqlParameter = { new SqlParameter("@Type", SqlDbType.Char),                                             new SqlParameter("@TicketNumber", SqlDbType.Char),                                             new SqlParameter("@ASeatNumberID", SqlDbType.Int),                                             new SqlParameter("@UserNo", SqlDbType.Bit),};            mySqlParameter[0].Value = "frmSeatAndTicket_InsertSeatAndTicket";            mySqlParameter[1].Value = strTicketNumber;            mySqlParameter[2].Value = intASeatNumberID;            mySqlParameter[3].Value = boolUserNo;            return myDALMethod.UpdateData("SellTicketManage_frmSeatAndTicket", mySqlParameter);        }

第三步:界面层(UIL)代码

private void btnPlay_Click(object sender, EventArgs e)//集体取票按下        {            try            {                if (PublicStaticObject.intReceiveBill > 0)//当获取的ID大于0时                {                    string strSurplusNumberOne = "";//声明一个字符串等于空                    string strEndTicketNumber = "";                    string strTicketNumber = "";                    for (int i = 0; i < dgvASeat.Rows.Count; i++)//循环dgv                    {                        DataTable dtReceiveBillOne = myfrmSeatAndTicketClient.frmSeatAndTicket_SelectReceiveBillOne(PublicStaticObject.intReceiveBill).Tables[0];//在PublicStaticObject.intReceiveBill的限制下获取数据集                        strSurplusNumberOne = dtReceiveBillOne.Rows[0]["SurplusNumber"].ToString().Trim();//上面字符串的值等于数据集中的某个值                        strEndTicketNumber = dtReceiveBillOne.Rows[0]["EndTicketNumber"].ToString().Trim();                        strTicketNumber = Convert.ToString(Convert.ToDecimal(strEndTicketNumber) - Convert.ToDecimal(strSurplusNumberOne) + 1);//将两个字符串转化为数字类型然后相减,在转化为字符串                        int intASeatNumberID = (int)dgvASeat.Rows[i].Cells["ASeatNumberID"].Value;                        Boolean boolUserNo = true;                        int j = myfrmSeatAndTicketClient.frmSeatAndTicket_InsertSeatAndTicket(strTicketNumber, intASeatNumberID, boolUserNo);                        if (j > 0)                        {                            if (Convert.ToDecimal(strSurplusNumberOne) > 0)                            {                                myfrmSeatAndTicketClient.frmSeatAndTicket_UpdateLinkNo(intASeatNumberID);                                string strSurplusNumber = Convert.ToString(Convert.ToDecimal(strSurplusNumberOne) - 1);//                                int intReceiveBillID = PublicStaticObject.intReceiveBill;                                myfrmSeatAndTicketClient.frmSeatAndTicket_UpdateSurplusNumber(strSurplusNumber, intReceiveBillID);                                DataTable dtReceiveBill = myfrmSeatAndTicketClient.frmSeatAndTicket_SelectReceiveBill().Tables[0];                                dgvReceiveBill.DataSource = dtReceiveBill;//dgv绑定数据                                cboClassesOne_DropDownClosed(null, null);//刷新                            }                            else                            {                                cboClassesOne_DropDownClosed(null, null);                                return;//返回                            }                        }                    }                }                else { MessageBox.Show("请选择一项!"); }            }            catch { }}





                                                                         仅供学习,禁止用于商业用途














0 0
原创粉丝点击