如何在asp.net中的有界gridview中插入paynow按钮

时间:2012-08-15 04:55:53

标签: asp.net

我想添加pay now按钮,如asp.net中的有界Gridview所示。 我使用了以下

<asp:GridView ID="GridView1" runat="server" AllowPaging="True" 
    AutoGenerateColumns="False" DataKeyNames="ID" DataSourceID="challanstatus" 
    Width="646px">
    <Columns>
        <asp:BoundField DataField="ID" HeaderText="ID" InsertVisible="False" 
            ReadOnly="True" SortExpression="ID" />
        <asp:BoundField DataField="RegisNo" HeaderText="RegisNo" 
            SortExpression="RegisNo" />
        <asp:BoundField DataField="Reason" HeaderText="Reason" 
            SortExpression="Reason" />
        <asp:BoundField DataField="Code" HeaderText="Code" SortExpression="Code" />
        <asp:BoundField DataField="DateofChallan" HeaderText="DateofChallan" 
            SortExpression="DateofChallan" />
        <asp:BoundField DataField="Status" HeaderText="Status" 
            SortExpression="Status" />
        <asp:BoundField DataField="Amount" HeaderText="Amount" 
            SortExpression="Amount" />

<asp:ButtonField  ButtonType="Button" CommandName="Edit" Text="Edit" Visible="True" CommandArgument='<%# Container.DataItemIndex %>' />


    </Columns>
</asp:GridView>
<asp:AccessDataSource ID="challanstatus" runat="server" 
    DataFile="~/App_Data/Database.mdb" 
    SelectCommand="SELECT * FROM [tblchallan] WHERE (([RegisNo] = ?) AND ([RegisNo] = ?))">
    <SelectParameters>
        <asp:ControlParameter ControlID="DropDownList1" Name="RegisNo" 
            PropertyName="SelectedValue" Type="String" />
        <asp:ControlParameter ControlID="DropDownList1" Name="RegisNo2" 
            PropertyName="SelectedValue" Type="String" />
    </SelectParameters>
</asp:AccessDataSource>

我在哪里使用

<asp:ButtonField  ButtonType="Button" CommandName="Edit" Text="Edit" Visible="True" CommandArgument='<%# Container.DataItemIndex %>' />

插入按钮但会出现以下错误:

描述:解析为此请求提供服务所需的资源时发生错误。请查看以下特定的解析错误详细信息并适当修改源文件。

分析器错误消息:仅在具有DataBinding事件的对象上支持数据绑定表达式。 System.Web.UI.WebControls.ButtonField没有DataBinding事件。

2 个答案:

答案 0 :(得分:2)

Ans: - 从变量

中的行获取值

如此绑定按钮

<asp:TemplateField>
 <ItemTemplate>
  <asp:Button runat="server" CommandName="Edit" Text="Pay Now" CommandArgument='<%# Eval("Amount")%>' />
 </ItemTemplate>
</asp:TemplateField>

在OnRowCommand事件中获取此行的值,如下所示: -

protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
 if (e.CommandName == "Edit")
 {
  decimal amount = Convert.ToDecimal(e.CommandArgument);
 }
}

希望这有助于你获得价值..

答案 1 :(得分:1)

<asp:TemplateField>
  <ItemTemplate>
     <asp:Button runat="server" CommandName="Edit" Text="Pay Now" CommandArgument='<%# Container.DataItemIndex %>' />
  </ItemTemplate>
</asp:TemplateField>

在此

之后使用此代码
<asp:BoundField DataField="Amount" HeaderText="Amount" SortExpression="Amount" />

我认为它可以帮助你!!如果您遇到任何问题,请回复..