看起来您在select查询中只检索了一列,但在新行中添加了一个2列数组。
您可以通过以下方式逃脱:
DataRow dr;
CommonDBTransaction c = new CommonDBTransaction();
string sql = "SELECT MId FROM Module";
DataTable dt = c.searchData(sql);
dr = dt.NewRow();
dr[0] = "
dt.Rows.InsertAt(dr,0);
metroComboBoxMod.ValueMember = "MId";
metroComboBoxMod.DisplayMember = "MId";
metroComboBoxMod.DataSource = dt;
否则,您可能需要ValueMember和DisplayMember都有一个单独的列:
DataRow dr;
CommonDBTransaction c = new CommonDBTransaction();
string sql = "SELECT MId AS MId, MId AS DisplayId FROM Module";
DataTable dt = c.searchData(sql);
dr = dt.NewRow();
dr[0] = 0;
dr[1] = "
dt.Rows.InsertAt(dr,0);
metroComboBoxMod.ValueMember = "MId";
metroComboBoxMod.DisplayMember = "DisplayId";
metroComboBoxMod.DataSource = dt;