C#DevExpress-如何将GridView中的lookupEdit列数据链接到MySqlDB

时间:2019-04-24 11:57:17

标签: c# devexpress

我在Gridview的列中有LookUpEdit。但是数据没有链接到每一行中的Columns [“ ID”]。怎么做?

            for (int i = 0; i < gridView1.DataRowCount; i++)
            {
                string query = "SELECT * FROM A WHERE ID = '" + gridView1.GetRowCellValue(i, "ID").ToString() + "' ";
                MySqlCommand cmd = new MySqlCommand(query, MySqlDBCon.con);
                if (MySqlDBCon.con.State == System.Data.ConnectionState.Closed)
                    MySqlDBCon.con.Open();
                MySqlDataAdapter oda = new MySqlDataAdapter(cmd);
                DataTable dt = new DataTable();
                oda.Fill(dt);
                RepositoryItemLookUpEdit riLookup = new RepositoryItemLookUpEdit();
                riLookup.DataSource = dt;
                riLookup.ValueMember = "ID";
                riLookup.DisplayMember = "Position";
                riLookup.PopulateColumns();
                riLookup.Columns["ID"].Visible = false;
                riLookup.Columns["ClientID"].Visible = false;
                gridView1.Columns["CustomerContact"].ColumnEdit = riLookup;

                //LookUpEdit - BestFitMode
                riLookup.BestFitMode = DevExpress.XtraEditors.Controls.BestFitMode.BestFitResizePopup;
                riLookup.SearchMode = DevExpress.XtraEditors.Controls.SearchMode.AutoComplete;
            }

Click Here to Show Image1

如上图所示,每个单元格都显示完全相同的数据。它链接到单元格[0]

1 个答案:

答案 0 :(得分:0)

RepositoryItems为列中的每个单元格共享。这意味着它们将共享相同的数据源。如果您需要一个列中的单个单元格来使用其他编辑器或具有不同数据源的编辑器,则必须在运行时通过处理GridView的CustomRowCellEdit事件来创建它。

在您的情况下,您创建的CustomRowCellEdit将检索当前ID值,执行查询,创建RepositoryItemLookUpEdit的实例,并将其数据源分配给查询结果。

您可能还希望查看Modify and Validate Cell Values文档以获取更多示例。