comboBox1如何赋值的问题

说明一下:comboBox1已经绑定了一个数据源,使comboBox1显示自己想要的字段,并且增加了一个gridcontrol,而gridview中只有id,想要点击gridview的行,获取id,comboBox1再显示对应的名称。

代码如下:

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 DevExpress.XtraGrid.Views.BandedGrid;
using DevExpress.XtraGrid.Views.Base;
using System.Linq;
using DevExpress.XtraGrid.Columns;
using DevExpress.XtraEditors.Repository;
using DevExpress.XtraGrid.Views.Grid;

namespace test
{
    public partial class Form3 : Form
    {

        GridView gridview = new GridView();
        
        public Form3()
        {
            InitializeComponent();

            InitGrid();
           
         }

    private void InitGrid()
        {

            //模拟几个数据
             List<ClassNo> listDataSource2 = new List<ClassNo>();
            listDataSource2.Add (new ClassNo (1,1,"计算机班01","备注01"));
            listDataSource2.Add(new ClassNo(2, 2, "计算机班02", "备注02"));
            listDataSource2.Add(new ClassNo(3, 3, "计算机班03", "备注03"));
            listDataSource2.Add(new ClassNo(4, 1, "计算机班 ", "备注01"));
             //绑定数据源并显示
             comboBox1.DataSource = listDataSource2;
            comboBox1.DisplayMember = "Calssno"; //使显示为Calssno字段!
            this.comboBox1.ValueMember = "ID";   //这个是关键~

}

//一下可以按照大家实际的情况来设定。我在这样讲gridview1绑定了另外一个数据源,而数据源中有ClassNOId这个字段。这边我就不写了。
        private void gridview1_Click(object sender, EventArgs e)
        {
            int numnber = gridview1.FocusedRowHandle;

            this.comboBox1.SelectedValue = Int32.Parse(gridview1.GetRowCellValue(numnber, "ClassNOId").ToString ());
        }

 

 

 

        #region 运行时绑定到实现Ilist接口的数据源

       public class ClassNo
        {
            int id,recordId;

            string remark, calssno;
          

            public ClassNo(int id, int   recordId, string calssno, string remark)
            {
                this.id = id;
                this.recordId =recordId ;
                this.calssno = calssno;
                this.remark = remark;
            }
            public int ID { get { return id; } }
            public int RecordId
            {
                get { return recordId; }
                set { recordId = value; }
            }
        
            public string Remark
            {
                get { return remark; }
                set { remark = value; }
            }


            public string Calssno
            {
                get { return calssno ; }
                set { calssno = value; }
            }
  


        }

        #endregion

 

 

 

 

### 如何在 PyQt 中给 ComboBox 控件赋值 在 PyQt 中,`QComboBox` 是一种下拉列表框组件,允许用户从预定义的选项中选择一项。为了向 `QComboBox` 添加项并设置其当前选中的值,可以使用如下方法: #### 向 QComboBox 添加项目 可以通过调用 `addItem()` 或者 `addItems()` 方法来添加单项或多项到组合框。 ```python from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QComboBox app = QApplication([]) window = QWidget() layout = QVBoxLayout() combo_box = QComboBox() combo_box.addItem("Option 1") # 单独添加一个条目 combo_box.addItems(["Option 2", "Option 3"]) # 批量添加多个条目 layout.addWidget(combo_box) window.setLayout(layout) window.show() app.exec_() ``` #### 设置默认选中的值 如果想要设定某个特定的选项作为初始状态下的选定项,则可通过索引来实现这一点。注意这里的索引是从0开始计数的整数值。 ```python # 假设我们希望默认显示第二个选项 ("Option 2") index_of_option_2 = combo_box.findText("Option 2") if index_of_option_2 >= 0: combo_box.setCurrentIndex(index_of_option_2) ``` 另外也可以通过文本直接匹配的方式来查找对应的索引位置,并将其设置为当前的选择[^1]。 #### 清除已有项目 有时可能需要清空现有的所有条目以便重新加载新的数据集,在这种情况下应该先清除再填充新内容。 ```python combo_box.clear() # 移除所有的条目 combo_box.addItems(new_options_list) # 加入一批新的条目 ``` 以上就是在 PyQt 应用程序开发过程中操作 `QComboBox` 的一些基本技巧。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值