zoukankan      html  css  js  c++  java
  • 无法绑定由多个部分组成的标识符“System.Data.DataRowView” 遇到问题转帖


    一开始是从System.Data.DataRowView着手,但千篇一律,没什么帮助,后来从断点触发,发现是初始化的问题,就想既然能获得期望结果,那么代码是没问题的,应该是逻辑上的问题,增加if判断后还是如此,网上找了找初始化的问题集合,还真有,原来问题就出现在数据绑定到控件的顺序上,如下:
    DataSet ds = new DataSet();
    sda.Fill(ds);
    cboGrade.DataSource = ds.Tables[0];//如果在给下面2个属性进行赋值前就绑定了数据,那么系统会自动给下面2个属性初始化(初始化的值非空非null,而是"System.Data.DataRowView",问题就出现在这里)
    cboGrade.DisplayMember = "GradeName";
    cboGrade.ValueMember = "GradeId";
    cboGrade.SelectedIndex =-1;
     当修改成下面的结构时,问题解决:
    DataSet ds = new DataSet();
    sda.Fill(ds);

    cboGrade.DisplayMember = "GradeName";
    cboGrade.ValueMember = "GradeId";
    cboGrade.DataSource = ds.Tables[0]; 
    cboGrade.SelectedIndex =-1;
    总结下:
    当使用SelectedIndexChanged时,ValueMember在DataSource前进行赋值,当使用SelectedValueChanged时,ValueMember在DataSource后进行赋值,主要还是触发事件决定的;
  • 相关阅读:
    python-通过psutil监控系统性能
    集合类和JAVA多线程
    JAVA异常和基础类库
    类设计基础与进阶
    面对对象思想
    AtCoder Beginner Contest 185
    Java概述
    友链
    牛客编程巅峰赛S2第7场
    牛客小白月赛30
  • 原文地址:https://www.cnblogs.com/lierjie/p/3651137.html
Copyright © 2011-2022 走看看