簡體   English   中英

在數據綁定數據網格視圖時如何編輯單元格值?

[英]How to edit a cell value while databinding a datagridview?

我有一個充當我的datagridview數據源的對象(類型A)列表。 類型A的屬性是類型B中的對象的列表。

我想在單元格中顯示類型B的列表。 我想使用對象B的Description屬性來執行此操作。datagridview中顯示的(對象B的)描述用逗號分隔。

我必須加入哪個事件才能編輯單元格值? 我不想向我的對象添加屬性,因為那樣的話我將為UI表示修改我的對象,而這是我不想要的。

終於我找到了東西。 我不知道這是否正確,但是現在對我有用。 這是我所做的:

1)我已經將dataGriddview的屬性VirtualMode設置為true。 2)我處理CellValueNeeded事件。 在此事件處理程序中,我檢查列索引並設置值:

private void myDataGridView_CellValueNeeded(object sender, DataGridViewCellValueEventArgs e)
{
    if (e.ColumnIndex == 3)
    {
        // _appointments is a member variable which is the datasource of the grid
        Appointment appointment = _appointments[e.RowIndex];

        IList<DisciplineType> disciplines = appointment.GetDisciplines();

        for (int i = 0; i < disciplines.Count; i++)
        {
            if (i > 0)
                e.Value += ", " + disciplines[i].Description;
            else
                e.Value += disciplines[i].Description;
        }
    }
}

希望這也能幫助其他人。 或者,如果您有更好的解決方案,請告訴我。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM