[英]Datagridview Combobox items is blank
我正在嘗試在datagrid中使用combobox,一切正常。 但是,在運行時,組合框似乎不包含任何數據,這是我的代碼:
Dim cbtn As New DataGridViewComboBoxColumn
Dim ls As New DataTable
cbtn.Name = "Schedule"
ls.Columns.Add("Day")
ls.Rows.Add("Monday")
ls.Rows.Add("Tuesday")
ls.Rows.Add("Wednesday")
ls.Rows.Add("Thursday")
ls.Rows.Add("Friday")
ls.Rows.Add("Saterday")
cbtn.DataSource = ls
cbtn.DisplayMember = "Day"
DoctorDataView.Columns.Add(cbtn)
cbtn.Width = DoctorDataView.Columns(DoctorDataView.Columns.Count - 1).Width / 2
我嘗試使用列表而不是數據表,甚至直接添加項目也沒有結果! 有什么幫助嗎? (可以使用C#或VB代碼)
DataGridView中沒有值的行未顯示任何數據,例如,在下面的示例中,第一行具有有效值,第三行也具有有效值。 第二行很好,但不顯示任何值,而最后一行包含無效數據,因此我們需要在這里使用斷言。
請注意,我使用DayNames提供特定於文化的工作日名稱,在該示例中 ,我通常使用自定義名稱空間。
任何方式都希望這會有所幫助。
Imports System.Globalization
Public Class Form1
''' <summary>
''' One column added in the designer
''' Form load I add a ComboBox with weekday names for data source
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
DataGridView1.Columns.Add(
New DataGridViewComboBoxColumn With
{
.DataSource = CultureInfo.CurrentCulture.DateTimeFormat.DayNames,
.DisplayStyle = DataGridViewComboBoxDisplayStyle.Nothing,
.Name = "DayColumn",
.HeaderText = "Week day",
.SortMode = DataGridViewColumnSortMode.NotSortable
}
)
DataGridView1.Rows.Add(New Object() {"AAA", "Friday"})
DataGridView1.Rows.Add(New Object() {"BBB"})
DataGridView1.Rows.Add(New Object() {"CCC", "Monday"})
DataGridView1.Rows.Add(New Object() {"DDD", "XYZ"})
End Sub
Private Sub DataGridView1_DataError(
sender As Object,
e As DataGridViewDataErrorEventArgs) Handles DataGridView1.DataError
If e.Exception.Message = "DataGridViewComboBoxCell value is not valid." Then
Console.WriteLine("Not valid week name [{0}]", DataGridView1.Rows(e.RowIndex).Cells(e.ColumnIndex).Value)
e.Cancel = True
End If
End Sub
End Class
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.