let test1 = "Line1\n\rLine2\nLine3\rLine4"
let t1 = test1.componentsSeparatedByCharactersInSet(NSCharacterSet.newlineCharacterSet())
let t2 = t1.filter{ [110] != "" }
let t3 = t1.filter{ ![110].isEmpty }
Один из методов - передать ему класс с одним именованным полем. Таким образом, вы можете дать ему имя.
public class GridRecord
{
public string MyValue { get; set; }
}
Затем преобразуйте свой строковый массив в список класса
string[] MyArray = new string[1];
MyArray[0] = "My Value";
List<GridRecord> MyList = (
from ar in myArray
select new GridRecord
{
MyValue = ar
}).ToList();
MyGridView.DataSource = MyList;
MyGridView.DataBind();
Теперь вы можете назвать свое свойство DataField
<asp:GridView ID="MyGridView" runat="server" AutoGenerateColumns="false">
<Columns>
<asp:BoundField DataField="MyValue" />
</Columns>
</asp:GridView>
Попробуйте заменить BoundField на TemplateField следующим образом:
<asp:TemplateField HeaderText="String Value">
<ItemTemplate>
<%# Container.DataItem %>
</ItemTemplate>
</asp:TemplateField>
Кстати, я поднял это из другого вопроса
Майкл,
Строка кода
<asp:BoundField DataField="Item" />
ожидает столбец с именем «Элемент», который у вас был бы, если бы вы были привязаны к одному из элементов управления DataSource, например SqlDataSource , ObjectDataSource или LinqDataSource. Поскольку вы привязаны к IEnumerable, у вас нет такого имени.
После нескольких часов поиска я наконец обнаружил, что для этого случая есть специальный DataField: «! »
<asp:GridView ID="MyGridView" runat="server" AutoGenerateColumns="false">
<Columns>
<asp:BoundField DataField="!" />
</Columns>
</asp:GridView>
Я надеюсь однажды это поможет кому-то :)