C# 将多个数据类型绑定到Gridview中的单个列

C# 将多个数据类型绑定到Gridview中的单个列,c#,.net,gridview,datagrid,C#,.net,Gridview,Datagrid,有人能告诉我这个例子中的细节是否可以通过使用TemplateColumns的GridView实现吗 我需要动态生成一个GridView,该GridView在一个列中可能不需要有一个数据类型。假设第1列可以有复选框或文本框控件(当然是基于逻辑) 我尝试在instanceEIN()中实现ITemplate并添加自定义控件,但据我所知,这里的绑定是基于每列级别的,而不是基于每项级别的 我怎样才能做到这一点 提前谢谢。如果问题需要进一步澄清,我可以删掉我的代码。是的,Telerik的RadGrid支持这

有人能告诉我这个例子中的细节是否可以通过使用TemplateColumns的GridView实现吗

我需要动态生成一个GridView,该GridView在一个列中可能不需要有一个数据类型。假设第1列可以有复选框或文本框控件(当然是基于逻辑)

我尝试在instanceEIN()中实现ITemplate并添加自定义控件,但据我所知,这里的绑定是基于每列级别的,而不是基于每项级别的

我怎样才能做到这一点


提前谢谢。如果问题需要进一步澄清,我可以删掉我的代码。

是的,Telerik的RadGrid支持这一点

相同的代码只需稍作修改即可工作。例如,
ListItemType
变为
GridItemType
DataGridItem
变为
GridDataItem
,等等。此外,Telerik创建控件的方式意味着某些索引需要更改。例如,他们的
ItemDataBound
事件具有以下代码:

  string dataType = e.Item.Cells[0].Text;
但对于Telerik RadGrid,这需要:

 string dataType = e.Item.Cells[2].Text;
除了这些微小的变化,它都可以与RadGrid一起工作


注意:当我看到Telerik的代码样本时,它们通常会走不同的路线。我看到他们为单元格提供自定义内容的方式是将自定义逻辑放在ItemCreated事件中。这将为每一行调用。因此,您可以让列的模板包含所有可能的控件,然后在ItemCreating事件中,通过根据您的逻辑将正确的控件设置为Visible来修改该模板的实例(这是您链接到的文章中使用的方法)。或者,您可以在该事件中仅为正确类型的控件创建一个特定控件。对于ItemCreated事件,以及Telerik的代码示例,该示例修改了每行的链接按钮,但可以使用相同的方法。

感谢您的详细回答。非常有帮助