Привязка Управления ASP.NET GridView к массиву строк

let test1 = "Line1\n\rLine2\nLine3\rLine4"
let t1 = test1.componentsSeparatedByCharactersInSet(NSCharacterSet.newlineCharacterSet())
let t2 = t1.filter{ [110] != "" }
let t3 = t1.filter{ ![110].isEmpty }
11
задан Michael Kniskern 21 April 2010 в 15:53
поделиться

4 ответа

Один из методов - передать ему класс с одним именованным полем. Таким образом, вы можете дать ему имя.

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>
9
ответ дан 3 December 2019 в 01:04
поделиться

Попробуйте заменить BoundField на TemplateField следующим образом:

<asp:TemplateField HeaderText="String Value">
        <ItemTemplate>
            <%# Container.DataItem %>
        </ItemTemplate>
    </asp:TemplateField>

Кстати, я поднял это из другого вопроса

13
ответ дан 3 December 2019 в 01:04
поделиться

Майкл,

Строка кода

<asp:BoundField DataField="Item" />

ожидает столбец с именем «Элемент», который у вас был бы, если бы вы были привязаны к одному из элементов управления DataSource, например SqlDataSource , ObjectDataSource или LinqDataSource. Поскольку вы привязаны к IEnumerable, у вас нет такого имени.

1
ответ дан 3 December 2019 в 01:04
поделиться

После нескольких часов поиска я наконец обнаружил, что для этого случая есть специальный DataField: «! »

<asp:GridView ID="MyGridView" runat="server" AutoGenerateColumns="false">
<Columns>
    <asp:BoundField DataField="!" />
</Columns>
</asp:GridView>

Я надеюсь однажды это поможет кому-то :)

20
ответ дан 3 December 2019 в 01:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: