找回密码
 立即注册

QQ登录

只需一步,快速开始

hiliuyong

初级会员

37

主题

61

帖子

270

积分

初级会员

积分
270
hiliuyong
初级会员   /  发表于:2020-11-25 22:41  /   查看:3960  /  回复:5
1金币
            1.想实现选择班级的时候,下面的只显示这个班级的学生
            2.想从下面这个控件中取出所有字段的值,即StudentName Gender ClassCode

附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

5 个回复

倒序浏览
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2020-11-26 09:51:37
沙发
您好,问题已收到,预计明天可以给您答复,谢谢~
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2020-11-26 23:02:28
板凳
我看你代码也没有写完,我给你修改好了,你的另一个帖子,也是这样的思路就行,将这个编辑器作为flexgrid 的列编辑器即可

  1.     public partial class Form1 : Form
  2.     {
  3.         List<Student> Students = new List<Student>();
  4.         public Form1()
  5.         {
  6.             InitializeComponent();

  7.             List<Class> Classes = new List<Class>();
  8.             Classes.Add(new Class { ClassCode = "101", ClassName = "一(1)班" });
  9.             Classes.Add(new Class { ClassCode = "102", ClassName = "一(2)班" });

  10.             
  11.             Students.Add(new Student { StudentName = "赵一", Gender = "男", ClassCode = "101" });
  12.             Students.Add(new Student { StudentName = "钱二", Gender = "女", ClassCode = "101" });
  13.             Students.Add(new Student { StudentName = "孙三", Gender = "男", ClassCode = "102" });
  14.             Students.Add(new Student { StudentName = "李四", Gender = "女", ClassCode = "102" });

  15.             cmbClass.ItemsDataSource = Classes;
  16.             cmbClass.ItemsDisplayMember = "ClassName";
  17.             cmbClass.ItemsValueMember = "ClassCode";

  18.             cmbStudents.ItemsDataSource = Students;
  19.             cmbStudents.ItemsDisplayMember = "StudentName";
  20.             cmbStudents.ItemsValueMember = "StudentName";
  21.             cmbStudents.BeforeDropDownOpen += CmbStudents_BeforeDropDownOpen;

  22.             //1.想实现选择班级的时候,下面的只显示这个班级的学生
  23.             //2.想从下面这个控件中取出所有字段的值,即StudentName Gender ClassCode
  24.         }

  25.         private void CmbStudents_BeforeDropDownOpen(object sender, CancelEventArgs e)
  26.         {
  27.             cmbStudents.ItemsDataSource = Students.Where(t => t.ClassCode ==cmbClass.Value.ToString());
  28.         }
  29.     }
复制代码
回复 使用道具 举报
hiliuyong
初级会员   /  发表于:2020-11-26 23:39:28
地板
本帖最后由 hiliuyong 于 2020-11-26 23:40 编辑

非常感谢你的回复,解决了我第一问,第二问实际要把学生的信息全部展示出来,我改了下例子,希望你能明白我想要的
  1.         private void cmbStudents_SelectedIndexChanged(object sender, EventArgs e)
  2.         {
  3.             Student currentStudent =  cmbStudents.SelectedItem;    //这句怎么写?
  4.             txtName.Text = currentStudent.StudentName;
  5.             txtGender.Text = currentStudent.Gender;
  6.             txtClassCode.Text = currentStudent.ClassCode;
  7.         }
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2020-11-27 09:26:07
5#
您好,问题已收到,预计今晚给您回复,谢谢~
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2020-11-28 00:16:11
6#
Student currentStudent = cmbStudents.Items.Cast<Student>().ToList()[cmbStudents.SelectedIndex] as Student;
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部