[英]How to set a ComboBox Item to match a cell in a DataGridView
我有一個設置為 DropDownList 的組合框。
我想要 select 框中與 DataGridView 行中的選定單元格匹配的相應項目。
理想情況下,單擊編輯按鈕后,報表類型 DropDown 將每月 select 以匹配突出顯示行中的時間跨度列。
我正在嘗試遍歷列表測試字符串是否匹配,如果為真則設置索引值。 我設置了一個消息框來確認兩個字符串匹配,但是它不會更改索引 position。
private void btnEdit_Click(object sender, EventArgs e)
{
ChangeBtnVisibility();
btnEdit.Enabled = false;
tbReportInput.Focus();
int selectedrowIndex = reportsDataGridView.SelectedCells[0].RowIndex;
tbReportInput.Text = reportsDataGridView.Rows[selectedrowIndex].Cells[2].Value.ToString();
for (int i = 0; i < cbSpan.Items.Count; i++)
{
MessageBox.Show("INDEX \n" + cbSpan.Items[i] + "\n\nDGV \n" + reportsDataGridView.Rows[selectedrowIndex].Cells[1].Value);
if (cbSpan.GetItemText(cbSpan.Items[i]) == reportsDataGridView.Rows[selectedrowIndex].Cells[1].Value.ToString())
{
cbSpan.SelectedIndex = i;
}
}
}
當我使用消息框運行代碼以測試值時,我顯示兩者是相同的,但是,我的 If 沒有觸發。
出於演示目的,創建一個新項目,以免干擾現有代碼,然后執行以下操作:
reportingDataSet.TimeSpans.AddTimeSpansRow("Daily","Daily");
reportingDataSet.TimeSpans.AddTimeSpansRow("Monthly","Monthly");
等等..
我知道我說它是 0 行,但是您需要來自某個地方的數據;)並且 0 行注釋是指連接 DGV 和 cobo; 該部分在上述過程中已經完成
就是這樣,只需運行應用程序
再次運行調試器后,我注意到 TimeSpan 單元格的值后面有很多空白。 修剪掉空白,現在一切都很好。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.