0

我有一个网格控件,可以从桌面 Windows 窗体应用程序中的数据库加载数据。但是我还需要一个带有组合框(带有一些项目)的新本地列,当我单击它时,它将信息保存到数据库的另一个表中。 这是我的代码在此处输入图像描述

            DataTable dt = new DataTable();
            string conStr = @"Data Source =...;Initial Catalog=...; Integrated Security=true;";
            SqlConnection con = new SqlConnection(conStr);
            SqlCommand com = new SqlCommand("SPS_PronosticoStock2", con);
            com.Parameters.AddWithValue("@IdProducto", Convert.ToInt32(textBox3.Text));
            com.Parameters.AddWithValue("@IdBodega", Convert.ToInt32(textBox4.Text));
            com.Parameters.AddWithValue("@FechaInicio", dateTimePicker1.Value);
            com.Parameters.AddWithValue("@FechaFin", dateTimePicker2.Value);
            com.CommandType = CommandType.StoredProcedure;
            SqlDataAdapter da = new SqlDataAdapter(com);
            try
            {
                con.Open();
                da.Fill(dt);
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                if (con.State == ConnectionState.Open)

                    con.Close();
            }      
            gridControl1.DataSource = dt;

我尝试了组合框编辑,但是当我单击它们消失的项目并且没有编辑任何内容时,请有人帮助我。

4

2 回答 2

0

参考这些: 未绑定的列组合框持久值

使用未绑定的列。有关这方面的更多信息,请查看未绑定列文章。

完成它的最佳方法是改用RepositoryItemLookUpEdit。只需将theRepositoryItemLookUpEdit.DataSource属性设置为适当的数据源,将RepositoryItemLookUpEdit.DisplayMember属性设置为应与显示文本匹配的列名,将RepositoryItemLookUpEdit.ValueMember属性设置为应与编辑值相关联的列名。

参考:
Xtragrid 中的组合框绑定到列值
XtraGrid 与组合框列不会在网格中保存值
https://www.youtube.com/watch?v=bbNhg1Xn9O4

于 2019-04-12T13:15:01.550 回答
-1

您的值没有被保存,因为您的列未绑定到数据字段。创建一个未绑定列并将您的值保存在CustomUnboundColumnData事件处理程序中。

于 2019-04-12T13:03:07.113 回答