如何在数据绑定的 GridViewComboBoxColumn 中显示自定义文本
how to display custom text in data bound GridViewComboBoxColumn
我正在研究 telerik 的 RadGridView。我有一个 "GridViewComboBoxColumn",其中包含一个字符串列表作为数据源。
现在的问题是,当我用数据填充网格视图时,数据中的值可能在该列的字符串数据源中不可用,从而导致空白值。
我尝试将 DropDownStyle 设置为 RadDropDownStyle.DropDown 但这并没有改变任何东西。我只需要显示数据,即使下拉列表中不存在该数据。
这里有一些代码可以帮助您更好地理解它。
Dim lstValues As New List(Of String)
lstValues.Add("Approved")
lstValues.Add("Declined")
lstValues.Add("Pending")
Dim col5 As GridViewComboBoxColumn = RadGridView1.Columns("column2")
col5.DataSource = lstValues
col5.DropDownStyle = Telerik.WinControls.RadDropDownStyle.DropDown
现在添加的行将在后面。
RadGridView1.Rows.Add("Application Name", "Processing")
如您所见,第 2 列没有名为 "Processing" 的项目,因此未显示并显示为空白。
在此先感谢您的帮助。
此致
您可以使用 formatting events 并将单元格文本设置为您需要的任何内容,但是请注意,单元格值不会因此而改变,但据我所知这是您需要的.
void radGridView1_CellFormatting(object sender, Telerik.WinControls.UI.CellFormattingEventArgs e)
{
if (e.Column.Name == "column2" && e.Row.Cells["someColumn"].Value == something)
{
e.CellElement.Text = "some text";
}
else
{
e.CellElement.ResetValue(LightVisualElement.TextProperty, ValueResetFlags.Local);
}
}
我正在研究 telerik 的 RadGridView。我有一个 "GridViewComboBoxColumn",其中包含一个字符串列表作为数据源。
现在的问题是,当我用数据填充网格视图时,数据中的值可能在该列的字符串数据源中不可用,从而导致空白值。
我尝试将 DropDownStyle 设置为 RadDropDownStyle.DropDown 但这并没有改变任何东西。我只需要显示数据,即使下拉列表中不存在该数据。
这里有一些代码可以帮助您更好地理解它。
Dim lstValues As New List(Of String)
lstValues.Add("Approved")
lstValues.Add("Declined")
lstValues.Add("Pending")
Dim col5 As GridViewComboBoxColumn = RadGridView1.Columns("column2")
col5.DataSource = lstValues
col5.DropDownStyle = Telerik.WinControls.RadDropDownStyle.DropDown
现在添加的行将在后面。
RadGridView1.Rows.Add("Application Name", "Processing")
如您所见,第 2 列没有名为 "Processing" 的项目,因此未显示并显示为空白。
在此先感谢您的帮助。
此致
您可以使用 formatting events 并将单元格文本设置为您需要的任何内容,但是请注意,单元格值不会因此而改变,但据我所知这是您需要的.
void radGridView1_CellFormatting(object sender, Telerik.WinControls.UI.CellFormattingEventArgs e)
{
if (e.Column.Name == "column2" && e.Row.Cells["someColumn"].Value == something)
{
e.CellElement.Text = "some text";
}
else
{
e.CellElement.ResetValue(LightVisualElement.TextProperty, ValueResetFlags.Local);
}
}