DropDown下拉列表使用(inverterIDropdown.options.Add(op1); inverterIDropdown.value = 0;)value=0必须在 add完之后哦

using System.Collections;
using System.Collections.Generic;
using System.Data;
using UnityEngine;
using UnityEngine.UI;
public class PVModule : MonoBehaviour
{
    private string command;
    private DataSet dataset;
    //逆变器品牌
    public Dropdown inverterIDropdown;
    //逆变器型号
    public Dropdown invertermIDropdown;
    //该方案中使用的光伏组件品牌ID
    public Dropdown pvmIDropdown;
    //该方案中使用的光伏组件型号ID
    public Dropdown pvmmIDropdown;
    //逆变器参数
    public List<Text> inverterDataList = new List<Text>();
    //光伏组件参数
    public List<Text> pvmIDataList = new List<Text>();
    //Text区/县
    public Text county;
    //Text东经
    public Text eastlongitude;
    //text北纬
    public Text northlatitude;
    //Text组件最高温度
    public Text maximumtemperature;
    //Text组件最低温度
    public Text minimuntemperature;
    //串联数量
    public Dropdown mppt1cDropdown;
    //并联数量
    public Dropdown mppt1bDropdown;
    //mppt2 串联数量
    public Dropdown mppt2cDropdown;
    //mppt2 并联数量
    public Dropdown mppt2bDropdown;
    //组串1组件数量
    public List<Text> mppt1cList = new List<Text>();
    //组串1并组件数量额定数值
    public List<Text> mppt1RatedValuebList = new List<Text>();
    //组串1并组件数量实际数值
    public List<Text> mppt1actualValuebList = new List<Text>();
    //组串2组件数量
    public List<Text> mppt2cList = new List<Text>();
    //组串2并组件数量额定数值
    public List<Text> mppt2RatedValuebList = new List<Text>();
    //组串2并组件数量实际数值
    public List<Text> mppt2actualValuebList = new List<Text>();
    void Start()
    {
        Init();
    }
    void Init()
    {
        //初始逆变器名字
        InitialInverterName();
        //初始化光伏组件名字
        InitializePVModuleName();
        //初始逆变器型号
        InitialInverterTypeNumber(inverterIDropdown.value + 1);
        ////初始光伏组件型号
        InitializePVModuleModel(pvmIDropdown.value + 1);
        //默认第一个值
        InitialInverterParameters((invertermIDropdown.captionText.text));
        //注册监听
        //逆变器注册监听
        inverterIDropdown.onValueChanged.AddListener(delegate
        {
            InverterlDropdownValueChanged(inverterIDropdown);
        });
        //逆变器型号注册监听
        invertermIDropdown.onValueChanged.AddListener(delegate
        {
            InvertermlDropdownValueChanged(invertermIDropdown);
        });
        //光伏组件监听
        pvmIDropdown.onValueChanged.AddListener(delegate {
            PvmIDropdownValueChange(pvmIDropdown);
        });
        ////光伏组件型号监听
        pvmmIDropdown.onValueChanged.AddListener(delegate {
            PvmmIDropdownOnValueChanged(pvmmIDropdown);
        });
    }
    //初始逆变器名字
    private void InitialInverterName()
    {
        command = "select BrandCHS from inverter";
        dataset = Sql.Instance().GetDataSet(command);
        inverterIDropdown.options.Clear();
        inverterIDropdown.captionText.text = dataset.Tables[0].Rows[0][0].ToString();
        for (int i = 0; i < dataset.Tables[0].Rows.Count; i++)
        {
            Dropdown.OptionData op1 = new Dropdown.OptionData();
            op1.text = dataset.Tables[0].Rows[i][0].ToString();
            inverterIDropdown.options.Add(op1);
        }
        inverterIDropdown.value = 0;
        dataset.Dispose();
    }
    //初始组件名字
    private void InitializePVModuleName()
    {
        command = "select BrandCHS from pvmodule";
        dataset = Sql.Instance().GetDataSet(command);
        pvmIDropdown.options.Clear();
        pvmIDropdown.captionText.text = dataset.Tables[0].Rows[0][0].ToString();
        for (int i = 0; i < dataset.Tables[0].Rows.Count; i++)
        {
            Dropdown.OptionData op1 = new Dropdown.OptionData();
            op1.text = dataset.Tables[0].Rows[i][0].ToString();
            pvmIDropdown.options.Add(op1);
        }
        pvmIDropdown.value = 0;
        dataset.Dispose();
    }
    //初始逆变器型号
    private void InitialInverterTypeNumber(int id)
    {
        command = "select Model from invertermodel where InverterID=" + id + ";";
        dataset = Sql.Instance().GetDataSet(command);
        invertermIDropdown.options.Clear();
        invertermIDropdown.captionText.text = dataset.Tables[0].Rows[0][0].ToString();
        for (int i = 0; i < dataset.Tables[0].Rows.Count; i++)
        {
            Dropdown.OptionData op1 = new Dropdown.OptionData();
            op1.text = dataset.Tables[0].Rows[i][0].ToString();
            invertermIDropdown.options.Add(op1);
        }
        invertermIDropdown.value = 0;
        dataset.Dispose();

    }
    //初始光伏组件型号
    private void InitializePVModuleModel(int id)
    {
        command = "select Model from pvmodulemodel where PVmoduleID=" + id + ";";
        dataset = Sql.Instance().GetDataSet(command);
        pvmmIDropdown.options.Clear();
        pvmmIDropdown.captionText.text = dataset.Tables[0].Rows[0][0].ToString();
        for (int i = 0; i < dataset.Tables[0].Rows.Count; i++)
        {
            Dropdown.OptionData op1 = new Dropdown.OptionData();
            op1.text = dataset.Tables[0].Rows[i][0].ToString();
            pvmmIDropdown.options.Add(op1);
        }
        pvmmIDropdown.value = 0;
        dataset.Dispose();

    }
    ////初始逆变器参数
    private void InitialInverterParameters(string text)
    {
        //初始逆变器参数
        command = "select * from invertermodel where Model='" + text + "';";
        dataset = Sql.Instance().GetDataSet(command);
        SetinverterDataList(0, dataset.Tables[0].Rows[0]["MaxDCIn"].ToString());
        SetinverterDataList(1, dataset.Tables[0].Rows[0]["ACOut"].ToString());
        SetinverterDataList(2, dataset.Tables[0].Rows[0]["MaxEfficiency"].ToString());
        SetinverterDataList(3, dataset.Tables[0].Rows[0]["EfficiencyE"].ToString());
        SetinverterDataList(4, "2");
        SetinverterDataList(5, dataset.Tables[0].Rows[0]["MinU"].ToString());
        SetinverterDataList(6, dataset.Tables[0].Rows[0]["MaxU"].ToString());
        SetinverterDataList(7, dataset.Tables[0].Rows[0]["MaxDCU"].ToString());
        SetinverterDataList(8, dataset.Tables[0].Rows[0]["MaxDCI1"].ToString());
        SetinverterDataList(9, dataset.Tables[0].Rows[0]["Length"].ToString() + "*" + dataset.Tables[0].Rows[0]["Width"].ToString() + "*" + dataset.Tables[0].Rows[0]["Height"].ToString());
        SetinverterDataList(10, dataset.Tables[0].Rows[0]["Weight"].ToString());
        dataset.Dispose();

    }
    //invertermIDropdown响应事件
    private void InvertermlDropdownValueChanged(Dropdown change)
    {
        InitialInverterParameters((change.captionText.text));
    }
    //inverterIDropdown响应事件
    public void InverterlDropdownValueChanged(Dropdown change)
    {
        InitialInverterTypeNumber(change.value+1);
        //默认第一个值
        InitialInverterParameters((invertermIDropdown.captionText.text));
    }
    //pvmIDropdown响应
    private void PvmIDropdownValueChange(Dropdown change)
    {


    }
    //pvmmIDropdown响应
    private void PvmmIDropdownOnValueChanged(Dropdown change)
    {

    }

    //逆变器参数
    public void SetinverterDataList(int i, string text)
    {
        inverterDataList[i].text = text;
    }
}

猜你喜欢

转载自blog.csdn.net/xiehaiyang1234/article/details/80925349
今日推荐