現狀:綁定的BindingList <string[]>到datagridview的
我試圖綁定從LINQ構造SQL查詢到DataGridView
一個BindingList<string[]>
。
問題:
我既不能進行修改的DataGridView
產生之後的項目 - 或 - 我收到了一堆不需要的字段的在我的DataGridView
(這取決於我使用的我的代碼迭代)我用Google搜索盡我所能,努力實施我在網上找到的大部分解決方案都無濟於事。
我知道,串有其實際價值沒有公共財產。我很難確定如何檢索(我相信是問題的一部分)。
C#
int item = (from p in CurrentConversion.Companies[lbCompanies.SelectedIndex].Modules
where p.ModuleName.Equals(clbModules.SelectedItem)
select p.ModuleId)
.FirstOrDefault();
BindingList<string[]> Data = new BindingList<string[]>((
from p in CurrentConversion.Companies[lbCompanies.SelectedIndex].QuestionAnswers
where p[2].Equals(item)
select new string[] { p[0].ToString(), p[3].ToString() })
.ToList());
dgvQuestions.DataSource = Data;
dgvQuestions.Refresh();
不必要的行爲:
出現這種情況後綁定
問:
- 這究竟是爲什麼?
- 我該如何解決?
附加信息:
我不知道可能需要什麼額外的信息,但我會提供要求什麼。
另外,如果我切換到我的其他代碼迭代:
int item = (from p in CurrentConversion.Companies[lbCompanies.SelectedIndex].Modules where p.ModuleName.Equals(clbModules.SelectedItem) select p.ModuleId).FirstOrDefault();
var Data = new BindingList<object>((from p in CurrentConversion.Companies[lbCompanies.SelectedIndex].QuestionAnswers where p[2].Equals(item) select new {Question = p[0].ToString(), Answer = p[3].ToString() }).Cast<object>().ToList());
dgvQuestions.DataSource = Data;
dgvQuestions.Refresh();
dgvQuestions.Columns[1].ReadOnly = false;
我可以正確地看到數據,但我不能編輯我想列。
也許如果你而不是對象創建你自己的類並使用它。 – Magnus