Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在数据绑定GridViewComboxColumn中显示自定义文本_C#_Vb.net_Winforms_Telerik_Radgridview - Fatal编程技术网

C# 如何在数据绑定GridViewComboxColumn中显示自定义文本

C# 如何在数据绑定GridViewComboxColumn中显示自定义文本,c#,vb.net,winforms,telerik,radgridview,C#,Vb.net,Winforms,Telerik,Radgridview,我正在为telerik的RadGridView工作。我有一个“GridViewComboxColumn”,其中有一个字符串列表作为数据源 现在的问题是,当我用数据填充网格视图时,数据中的值可能在该列的字符串数据源中不可用,从而导致空白值 我试着将DropDownStyle设置为RadDropDownStyle.DropDown,但这并没有改变任何事情。我只需要显示数据,即使下拉列表中没有数据 这里有一些代码可以帮助您更好地理解它 Dim lstValues As New List(Of

我正在为telerik的RadGridView工作。我有一个“GridViewComboxColumn”,其中有一个字符串列表作为数据源

现在的问题是,当我用数据填充网格视图时,数据中的值可能在该列的字符串数据源中不可用,从而导致空白值

我试着将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")
正如您所看到的,column2没有名为“Processing”的项,因此它不会显示并显示为空白

提前谢谢你的帮助

关于

您可以使用并将单元格文本设置为您需要的任何内容,但是请注意,单元格值不会因此而改变,但据我所知,这是您需要的

 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);
        }
    }

你能编辑你的问题并添加你的代码吗?非常感谢。这似乎解决了问题。然而,有一个问题是,为什么我们需要“e.CellElement.ResetValue”呢?文章对此进行了解释。网格使用UI虚拟化,单元被重用。因此,为了避免修改应用于不需要的单元格,需要进行此重置。如果这回答了你的问题,请将我的帖子标记为答案。