Как вставить произвольный HTML в нижний колонтитул gridview - PullRequest
2 голосов
/ 21 мая 2011

Здравствуйте, у меня есть сетка, генерируемая автоматически Visual Studio с такими полями:

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
    DataKeyNames="ID" DataSourceID="SqlDataSource1" Width="849px" 
    ShowFooter="True">
    <Columns>
        <asp:BoundField DataField="CarName" HeaderText="Car" 
            SortExpression="CarName"  />
        <asp:BoundField DataField="Color" HeaderText="Color" SortExpression="Color" />
    </Columns>
</asp:GridView>

Я хочу вставить текстовое поле в нижний колонтитул этих полей, чтобы пользователь мог вводить новые данные. Я видел везде только примеры с шаблоном, но без границ это возможно?

Я не хочу использовать поле шаблона, так как не знаю, как привязать к ним данные, поступающие с сервера sql. Я попытался использовать его свойство text, но текстовое поле в виде html не воспринимается компилятором и вызывает исключения, если я пытался получить к ним доступ в файле aspx.cs.

В любом случае было бы нормально добавить статическую строку в сетку, я просто хочу, чтобы мои текстовые поля были выровнены по столбцам.

Ответы [ 2 ]

1 голос
/ 21 мая 2011

Вы действительно можете использовать TemplateFields .
A вторая возможность - добавить обработчик события 'RowDataBound':

    public virtual void RowDataBound(object sender, GridViewRow row)
    {
        if (row.RowType == DataControlRowType.DataRow)
        {
        }
        else if (row.RowType == DataControlRowType.Footer && ShowFooter)
        {
        }
        else if (row.RowType == DataControlRowType.Header)
        {
            // here you need to be
            //row.Cells[0].Controls.Add(.....)
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...