当前位置:编程学习 > C#/ASP.NET >>

Comobox下拉内容Update请教!





--------------------编程问答-------------------- 什么叫做“删除了”?你是从ComboBox里边删除了它? --------------------编程问答-------------------- 可以刷新一下combox的item或数据源就可以了。或在删除事件里面加上 --------------------编程问答-------------------- 更新数据库后,重新设置ComboBox的数据源。 --------------------编程问答--------------------
引用 1 楼  的回复:
什么叫做“删除了”?你是从ComboBox里边删除了它?


 private void btnDel_Click(object sender, EventArgs e)
        {
            if (cmbCourseNum.SelectedIndex == -1)
            {
                MessageBox.Show("请输入课程编号!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                cmbCourseNum.Focus();
                return;
            }

            for (int i = intCourseDel; i < arrayCur.Length - 1; i++)
                arrayCur[i] = arrayCur[i + 1];
            arrayCur[arrayCur.Length - 1] = null;

            string strFilPath = Directory.GetCurrentDirectory();
            string strFilName = strFilPath + "\\course.txt";
            if (File.Exists(strFilName))
            {
                File.Delete(strFilName);
            }
            FileStream txtFile = new FileStream(strFilName, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.None);
            StreamWriter txtfileSw = new StreamWriter(txtFile);
            txtFile.Seek(0, SeekOrigin.End);
            for (int i = 0; i < arrayCur.Length && arrayCur[i] != null; i++)
            {
                txtfileSw.WriteLine(arrayCur[i].CourseNum);
                txtfileSw.WriteLine(arrayCur[i].CourseName);
                txtfileSw.WriteLine(arrayCur[i].Credit);
                txtfileSw.WriteLine(arrayCur[i].ProOrPub);
                txtfileSw.WriteLine(arrayCur[i].NeedOrOpt);
                txtfileSw.WriteLine(arrayCur[i].ProfessRange);
            }
            txtfileSw.Close();
            txtFile.Close();

            dgvCourseInfoDel.DataSource = 0;
            cmbCourseNum.SelectedIndex = -1;
            MessageBox.Show("删除成功!", "提示", MessageBoxButtons.OK,MessageBoxIcon.Information );

            cmbCourseNum.Update();//这样写不行。。。
        }
--------------------编程问答--------------------
引用 4 楼  的回复:
引用 1 楼  的回复:

什么叫做“删除了”?你是从ComboBox里边删除了它?


C# code
 private void btnDel_Click(object sender, EventArgs e)
        {
            if (cmbCourseNum.SelectedIndex == -1)
            {
           ……


你没有从ComboBox中去删除它嘛。 --------------------编程问答--------------------
引用 5 楼  的回复:
引用 4 楼  的回复:

引用 1 楼  的回复:

什么叫做“删除了”?你是从ComboBox里边删除了它?


C# code
private void btnDel_Click(object sender, EventArgs e)
{
if (cmbCourseNum.SelectedIndex == -1)
{
……


你没有从ComboBox中去删除……


怎样删除?

若没删除,为什么重启窗口之后,查看却没有了的? --------------------编程问答--------------------
引用 2 楼  的回复:
可以刷新一下combox的item或数据源就可以了。或在删除事件里面加上


请问该怎样改代码?【请参考4楼的代码】 --------------------编程问答--------------------
引用 3 楼  的回复:
更新数据库后,重新设置ComboBox的数据源。


没用数据库的,只是文件,代码如下:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Collections;

namespace WFMStudentManager
{
    public partial class frmCousrDel : Form
    {
        public clsCourse[] arrayCur = new clsCourse[20];
        int intCourseDel = 0;

        public frmCousrDel()
        {
            InitializeComponent();
        }

        private void frmCousrDel_Load(object sender, EventArgs e)
        {
            string strFilePath = Directory.GetCurrentDirectory();
            string strFileName = strFilePath + "\\course.txt";
            FileStream txtFile = new FileStream(strFileName, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.None);
            StreamReader txtfileSr = new StreamReader(txtFile);
            string strLine = txtfileSr.ReadLine();
            for (int i = 0; strLine != null; i++)
            {
                arrayCur[i] = new clsCourse();
                arrayCur[i].CourseNum = strLine;//读的顺序与保存的顺序一致,否则信息会存错位置
                arrayCur[i].CourseName = txtfileSr.ReadLine();
                arrayCur[i].Credit = txtfileSr.ReadLine();
                arrayCur[i].ProOrPub = txtfileSr.ReadLine();
                arrayCur[i].NeedOrOpt = txtfileSr.ReadLine();
                arrayCur[i].ProfessRange = txtfileSr.ReadLine();

                //课程编号下拉框:
                cmbCourseNum.Items.Add(arrayCur[i].CourseNum);



                strLine = txtfileSr.ReadLine();
            }
            txtfileSr.Close();
            txtFile.Close();
        }

        private void btnInquiry_Click(object sender, EventArgs e)
        {
           if (cmbCourseNum.SelectedIndex == -1)
            {
                MessageBox.Show("请输入课程编号!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                cmbCourseNum.Focus();
                return;
            }
            int i;
            for (i = 0; i < arrayCur.Length && arrayCur[i] != null; i++)
            {
                if (arrayCur[i].CourseNum == cmbCourseNum.Text)
                    break;
            }
            ArrayList list = new ArrayList();
            if (i < arrayCur.Length)
            {
                list.Add(arrayCur[i]);
                this.dgvCourseInfoDel.DataSource = list;
                intCourseDel = i;
               //按查询按钮后下拉表清空:
               //cmbCourseNum.SelectedIndex = -1;
            }
        }

        private void btnDel_Click(object sender, EventArgs e)
        {
            if (cmbCourseNum.SelectedIndex == -1)
            {
                MessageBox.Show("请输入课程编号!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                cmbCourseNum.Focus();
                return;
            }

            for (int i = intCourseDel; i < arrayCur.Length - 1; i++)
                arrayCur[i] = arrayCur[i + 1];
            arrayCur[arrayCur.Length - 1] = null;

            string strFilPath = Directory.GetCurrentDirectory();
            string strFilName = strFilPath + "\\course.txt";
            if (File.Exists(strFilName))
            {
                File.Delete(strFilName);
            }
            FileStream txtFile = new FileStream(strFilName, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.None);
            StreamWriter txtfileSw = new StreamWriter(txtFile);
            txtFile.Seek(0, SeekOrigin.End);
            for (int i = 0; i < arrayCur.Length && arrayCur[i] != null; i++)
            {
                txtfileSw.WriteLine(arrayCur[i].CourseNum);
                txtfileSw.WriteLine(arrayCur[i].CourseName);
                txtfileSw.WriteLine(arrayCur[i].Credit);
                txtfileSw.WriteLine(arrayCur[i].ProOrPub);
                txtfileSw.WriteLine(arrayCur[i].NeedOrOpt);
                txtfileSw.WriteLine(arrayCur[i].ProfessRange);
            }
            txtfileSw.Close();
            txtFile.Close();

            dgvCourseInfoDel.DataSource = 0;
            cmbCourseNum.SelectedIndex = -1;
            MessageBox.Show("删除成功!", "提示", MessageBoxButtons.OK,MessageBoxIcon.Information );

            cmbCourseNum.Update();//这样写不行。。。
        }
    }
}
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,