如何将数据表的列名从存储过程绑定到组合框 [英] how to bind column names of a datatable to combobox from stored procedure

查看:83
本文介绍了如何将数据表的列名从存储过程绑定到组合框的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是我的代码,用于将表从源代码添加到网格视图中,有人可以帮助我如何将列名称绑定到组合框

here is my code to add table to grid view from source code can anyone help me how to bind column names to combobox

string conStr = string.Format("Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST={0})(PORT={1})))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME={2})));User Id={3};Password={4}; ", conHostName, conPort, conDatabase, _dbUserName, _dbPwd);
               //OracleConnection con = new OracleConnection(conStr);
               //con.Open();
               // define Command
               using (var conn = new OracleConnection(conStr))
               {
                   DataSet dataset = new DataSet();

                  // create & define the command
                   var cmd = new OracleCommand();
                   cmd.CommandType = CommandType.StoredProcedure;
                   cmd.CommandText = "REPORTS.GET_DAILY_STATUS";
                   cmd.Connection = conn;

                   // Declare parameter for FROM DATE - INPUT
                   OracleParameter param1 = new OracleParameter("PID_FROM_DATE", OracleType.DateTime, 10);
                   param1.Value = Convert.ToDateTime(dateTimePicker1.Value.Date);
                   param1.Direction = ParameterDirection.Input;

                   // add to cmd object
                   cmd.Parameters.Add(param1);

                   // Declare parameter for To DATE - INPUT
                   OracleParameter param2 = new OracleParameter("PID_TO_DATE", OracleType.DateTime, 10);
                   param2.Value = Convert.ToDateTime(dateTimePicker2.Value.Date);
                   param2.Direction = ParameterDirection.Input;

                   // add to cmd object
                   cmd.Parameters.Add(param2);

                   // Declare parameter for spvsr DATE - INPUT
                   OracleParameter param3 = new OracleParameter("PIN_SPVSR_ID", OracleType.Number, 10);
                   param3.Value = 410;
                   param3.Direction = ParameterDirection.Input;

                   // add to cmd object
                   cmd.Parameters.Add(param3);

                   //PORC_DATA 410

                   // Declare parameter for FROM procreport  - OUTPUT
                   OracleParameter param4 = new OracleParameter("PORC_REPORT", OracleType.Cursor);
                   param4.Direction = ParameterDirection.Output;

                   // add to cmd object
                   cmd.Parameters.Add(param4);


                   //OracleParameter[] oprms = new OracleParameter[3];
                   //oprms[0] = new OracleParameter("PIC_FROM_DATE", OracleType.VarChar, 10, dateTimePicker1.Value, ParameterDirection.Input);
                   //oprms[1] = new OracleParameter("PIC_TO_DATE", OracleType.VarChar, 10, dateTimePicker1.Value, ParameterDirection.Input);
                   //oprms[2] = new OracleParameter("PORC_DATA", OracleType.RefCursor, ParameterDirection.Output);
                   //foreach (OracleParameter oprm in oprms)
                   //{
                   //    cmd.Parameters.Add(oprm);
                   //}
                   OracleDataAdapter oDap = new OracleDataAdapter(cmd);
                   oDap.Fill(table);

                   if (table != null)
                   {
                       dataGridView1.AutoGenerateColumns = true;
                       dataGridView1.DataSource = table.DefaultView;

                   }

推荐答案

您已经填充了数据表,因此如果将此数据表用作组合框的来源,则需要进行以下设置:
- DisplayMember [ ValueMember [ DataGridViewComboBoxColumn [ ^ ]
You have filled a data table so if you use this data table as a source to a combo box, you set:
- DisplayMember[^]
- ValueMember[^]

If this isn''t a separate combobox but a combo box column then use the mentioned properties on DataGridViewComboBoxColumn [^]


这篇关于如何将数据表的列名从存储过程绑定到组合框的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆