标题:关于一段程序的理解 关于combobox
只看楼主
上帝之允
Rank: 1
等 级:新手上路
帖 子:67
专家分:5
注 册:2010-10-11
结帖率:73.68%
已结贴  问题点数:20 回复次数:8 
关于一段程序的理解 关于combobox
namespace TwoComboBoxs
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        NorthwindDataSet.ProductsDataTable productTable = new NorthwindDataSet.ProductsDataTable();
        NorthwindDataSet.CategoriesDataTable categoryTable = new NorthwindDataSet.CategoriesDataTable();
        
        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            
            DataRowView rowView = comboBox1.SelectedItem as DataRowView;
         
           

             NorthwindDataSet.CategoriesRow row = rowView.Row as NorthwindDataSet.CategoriesRow;
         
            int id = row.CategoryID;
            productTable.DefaultView.RowFilter = string.Format("CategoryID = {0}", id);
            
        }
      

        private void Form1_Load(object sender, EventArgs e)
        {
            
            NorthwindDataSetTableAdapters.CategoriesTableAdapter categoryAdapter = new TwoComboBoxs.NorthwindDataSetTableAdapters.CategoriesTableAdapter();
            categoryAdapter.Fill(categoryTable);
             = categoryTable.DefaultView;
            comboBox1.DisplayMember = categoryTable.CategoryNameColumn.ColumnName;
            

            NorthwindDataSetTableAdapters.ProductsTableAdapter productAdapter = new NorthwindDataSetTableAdapters.ProductsTableAdapter();
            productAdapter.Fill(productTable);
             = productTable.DefaultView;
            comboBox2.DisplayMember = productTable.ProductNameColumn.ColumnName;
           
           


        }

    }
}
这里面用的是northwind,看不太懂,有没有sql server 相关的语句可以替换一下的
搜索更多相关主题的帖子: combobox 
2010-11-24 16:56
上帝之允
Rank: 1
等 级:新手上路
帖 子:67
专家分:5
注 册:2010-10-11
得分:0 
千万别沉呀!!! 有没有神呀!!!
2010-11-24 19:40
c1_wangyf
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:7
帖 子:665
专家分:2832
注 册:2010-5-24
得分:7 
觉得这里面comboBox1的查询应该和id有关:int id = row.CategoryID;            productTable.DefaultView.RowFilter = string.Format("CategoryID = {0}", id);

comboBox2和ProductsDataTable表有关,但是不太清楚这两表 ProductsDataTable和 CategoriesDataTable之间有什么联系!!         

sql查询的话需要知道查询什么,现在对这两个表只知道CategoriesDataTable有一个id,当然你可以查询所有的项目: select * from 加上表名

仅供参考
2010-11-24 22:06
上帝之允
Rank: 1
等 级:新手上路
帖 子:67
专家分:5
注 册:2010-10-11
得分:0 
那换个问题吧
  DataSet ds = new DataSet();
            SqlDataAdapter da = new SqlDataAdapter("select G_number from 商品表", conn);
            da.Fill(ds, "G_number");
            DataTable dt = ds.Tables[0];
            comboBox2.DataSource = dt;
            comboBox2.DisplayMember = "G_number";
            comboBox2.SelectedIndex = -1;    是form_load 中对combobox2的出定义,连接商品表中的G_number

  DataSet ds1 = new DataSet();
            SqlDataAdapter da1 = new SqlDataAdapter("select G_name from 商品表", conn);
            DataTable dt1 = ds.Tables[0];
            comboBox3.DataSource = dt1;
            comboBox3.DisplayMember = "G_name";
            comboBox3.ValueMember = "G_name";
            comboBox3.SelectedIndex = -1;  是form_load 中对combobox3的出定义,连接商品表中的G_name
 想选定combobox2中的下拉项时,combobox3中的值跟着改变


 private void comboBox2_SelectedIndexChanged(object sender, EventArgs e)
        {
            string strSQL1 = "Select G_name from 商品表 where G_number=";
            strSQL1 += comboBox2.Text;
            DataSet ds1 = new DataSet();
            SqlDataAdapter da1 = new SqlDataAdapter(strSQL1, conn);
            da1.Fill(ds1, "商品表");
            DataTable dt1 = ds1.Tables["商品表"];
            comboBox3.DataSource = dt1;
            comboBox3.DisplayMember = "G_name";
            comboBox3.SelectedIndex = -1;

            

        }

现在提示错误无法绑定由多个部分组成的标识符 "System.Data.DataRowView"。
为什么



2010-11-24 22:52
c1_wangyf
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:7
帖 子:665
专家分:2832
注 册:2010-5-24
得分:0 
你的这两句string strSQL1 = "Select G_name from 商品表 where G_number=";            strSQL1 += comboBox2.Text;运行可以通过吗?
从逻辑上讲应该是Select G_name from 商品表 where G_number='comboBox2.Text所显示的值';

所以建议:string strSQL1 = "Select G_name from 商品表 where G_number='";            strSQL1 =strSQL1+ comboBox2.Text+"'";
2010-11-25 10:48
loveyang
Rank: 2
等 级:论坛游民
帖 子:19
专家分:44
注 册:2010-11-12
得分:7 
有点乱
2010-11-25 11:41
上帝之允
Rank: 1
等 级:新手上路
帖 子:67
专家分:5
注 册:2010-10-11
得分:0 
回复 5楼 c1_wangyf
那句没有问题可以通过
2010-11-25 16:26
c1_wangyf
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:7
帖 子:665
专家分:2832
注 册:2010-5-24
得分:0 
可以选到需要的数据吗?
2010-11-26 08:39
wangnannan
Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18
等 级:贵宾
威 望:87
帖 子:2545
专家分:9359
注 册:2007-11-3
得分:7 
按照LZ的意思 俺试着仿做了一下 没出现那个问题
有可能是这样
你绑定数据有问题,
要不就是你绑定数据的查询语句有问题

俺以前遇到过类似的问题 但是数据源是泛型 貌似咱们的情况不同 如果不好用 建议LZ把代码打包后在上传 这样大家看着都方便

出来混,谁不都要拼命的嘛。 。拼不赢?那就看谁倒霉了。 。有机会也要看谁下手快,快的就能赢,慢。 。狗屎你都抢不到。 。还说什么拼命?
2010-11-26 09:13



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-326760-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.393902 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved