C# 将列表中的列表绑定到GridView
我有一个包含所有不同类型数据成员的类,包括字符串列表。当我将数据绑定到GridView时,我希望能够将字符串列表分离到GridView中的不同列中。这些字符串更像标志,最多有3个标志。如果没有应用任何标志,则列表可以为空,也可以仅包含一个或两个标志。如何将这些标志分离到不同的GridView列中?是否需要在OnRowDataBound事件中执行此操作 目前,我的aspx代码看起来像这样。我希望能够根据是否升起标志来更改图像控件的ImageUrlC# 将列表中的列表绑定到GridView,c#,asp.net,data-binding,gridview,C#,Asp.net,Data Binding,Gridview,我有一个包含所有不同类型数据成员的类,包括字符串列表。当我将数据绑定到GridView时,我希望能够将字符串列表分离到GridView中的不同列中。这些字符串更像标志,最多有3个标志。如果没有应用任何标志,则列表可以为空,也可以仅包含一个或两个标志。如何将这些标志分离到不同的GridView列中?是否需要在OnRowDataBound事件中执行此操作 目前,我的aspx代码看起来像这样。我希望能够根据是否升起标志来更改图像控件的ImageUrl <asp:TemplateField Hea
<asp:TemplateField HeaderText="Tax" SortExpression="Tax">
<ItemTemplate>
<asp:Image ID="imgTax" runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Compliance" SortExpression="Compliance">
<ItemTemplate>
<asp:Image ID="imgCompliance" runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Accounting" SortExpression="Accounting">
<ItemTemplate>
<asp:Image ID="imgAccounting" runat="server" />
</ItemTemplate>
</asp:TemplateField>
谢谢 有没有办法修改数据,将这些字符串转换成布尔值?以这种方式使用字符串给我的印象是代码的味道。就我个人而言,我会将这些字符串转换为您用作网格数据源的类的布尔属性,并在标记中修改它们的可见性属性,而不是返回数据库以逐行选择这些属性 不管怎样,可以这样使用RowDataBound事件:
yourGrid_RowDataBound(object sender, EventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
YourClass currentClass = (YourClass) e.Row.DataItem;
for (int i = 0; i < currentClass.stringFlags.Length; i++)
{
string currentFlag = currentClass.stringFlags[i];
if (currentFlag == "Tax")
{
Image imgTax = (Image) e.Row.FindControl("imgTax");
imgTax.Visbile = true;
}
else if (currentFlag == "Compliance")
{
Image imgCompliance = (Image) e.Row.FindControl("imgCompliance");
imgCompliance.Visbile = true;
}
else if (currentFlag == "Accounting")
{
Image imgAccounting = (Image) e.Row.FindControl("imgAccounting");
imgAccounting.Visbile = true;
}
}
}
}
yourGrid\u rowdabund(对象发送方,事件参数e)
{
如果(e.Row.RowType==DataControlRowType.DataRow)
{
YourClass currentClass=(YourClass)e.Row.DataItem;
对于(int i=0;i
因此,您需要根据标志的存在以编程方式显示/隐藏这些图像?谢谢!这帮了大忙。最初,字符串是另一层中的枚举,但由于该层和GUI之间的某种原因,它们更改为字符串。我会看看我能做些什么来改变这一点。