Привязка кнопки к GridView - PullRequest
2 голосов
/ 07 января 2011

Это довольно простой вопрос, я просто не уверен, как именно это сделать. Я хотел бы привязать кнопку или, возможно, ImageButton к GridView в ASP.NET/C#. В настоящее время GridView имеет два столбца и привязан к DataTable с двумя столбцами. Я хочу добавить третий столбец в GridView, который будет включать кнопку.

Я знаю, что в GridView есть ButtonField, но я не очень уверен, как его использовать, чтобы делать то, что я хочу. Я хочу динамически генерировать эти кнопки и добавлять их в GridView.

Вот как выглядит мой GridView прямо сейчас:

<asp:GridView 
    ID="GridView1"
    Runat="server">
    <Columns>
        <asp:HyperLinkField 
            HeaderText="Display Name"
            DataNavigateUrlFields="DISPNAME"
            DataNavigateUrlFormatString="ViewItem.aspx"
            DataTextField="DISPNAME">
            <ItemStyle Width="70%" />
        </asp:HyperLinkField>
        <asp:BoundField
            DataField="TypeDisp"
            HeaderText="Type">
            <ItemStyle Width="20%" />
        </asp:BoundField>
    </Columns>
 </asp:GridView>

Ответы [ 2 ]

6 голосов
/ 08 января 2011

Вы можете использовать поле шаблона, как показано ниже:

<TemplateField>
    <ItemTemplate>
        <asp:ImageButton ImageUrl="image url" CommandName="SomeCommand" CommandArgument='<%# Eval("Id") %>'/>
    </ItemTemplate>
</TemplateField>

Затем вы можете обработать событие RowCommand GridView и проверить e.CommandName, чтобы увидеть, какую команду нужно выполнить, и вы можете получитьТакже e.CommandArgument, который может быть идентификатором строки, как я использовал в коде выше.

1 голос
/ 08 января 2011

Если мы говорим о кнопке, которая всегда присутствует, вы можете использовать ButtonField или даже использовать TemplateField и предоставить шаблон кнопке и привязать данные к кнопке (звучит так, как будто вы хотите связать данные с атрибутамикнопки?)

Если вы хотите динамически генерировать кнопки в пользовательском интерфейсе, нажмите на событие RowCreated и добавьте кнопку GridView.Вы должны будете делать это при каждой загрузке страницы;GridView не запомнит кнопку, созданную программным способом.

HTH.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...