2012-08-09 50 views
0

所以我一直在寻找这个好几天了,并且找不到一个好的答案,所以我想我会把它扔到这个SO专家,看看有没有人想法。Gridview上每行的默认按钮

我一直想在gridview编辑中获得每行的默认按钮。现在,我确实发现了following黑客工作,然而,它导致了我的网格(我使用RowCommand来处理我的更新和插入,而不是RowUpdating)其他更大的问题。

我目前正在使用VS 2008,在任何新版本中都有一个很好的干净的方法来为正在编辑的行添加默认按钮? 2008年有这样一个好方法吗?

感谢

编辑:

<asp:TemplateField SortExpression="State" HeaderText="State"> 
    <ItemTemplate > 
     <asp:Label ID="lblStte" runat="server" Text='<%# Bind("State") %>'></asp:Label>  
    </ItemTemplate> 

    <EditItemTemplate> 
     <asp:Label ID="lblState" runat="server" Text='<%# Bind("State") %>'></asp:Label> 
    </EditItemTemplate> 
</asp:TemplateField> 

<asp:TemplateField SortExpression="Comments" HeaderText="Comments"> 
    <ItemTemplate >  
     <asp:Label ID="lblComments" runat="server" Text='<%# GetSubstring(Eval("Comments"), 20) %>'> </asp:Label> 
    </ItemTemplate> 

    <EditItemTemplate> 
     <asp:TextBox ID="txtComments" runat="server"></asp:TextBox> 
    </EditItemTemplate> 
</asp:TemplateField>     

<asp:TemplateField HeaderText=""> 
    <ItemTemplate > 
     <asp:Button ID="btnSelect" CommandName="Edit" runat="server" Text="Select" /> 
     <asp:Button ID="btnATM" CommandName="GoTo" runat="server" Text="Go to" />   
    </ItemTemplate> 

    <EditItemTemplate> 
      <asp:Button ID="btnUpdate" CommandName="Update" runat="server" Text="Update" /> 
      <asp:Button ID="btnCancel" CommandName="Cancel" runat="server" Text="Cancel" /> 
    </EditItemTemplate> 
</asp:TemplateField>       

    </Columns> 

+0

你能说明你的'GridView'标记是什么样的吗?这听起来像你可以使用'TemplateFields'来实现这个功能,但是我想先看看你的标记。 – jadarnel27 2012-08-09 15:46:25

+0

@ jadarnel27:我正在使用templateFields,我已经将我的网格的一部分添加到了我的问题中(它的一个很大的一个,所以我不想粘贴整个东西) – Limey 2012-08-09 16:07:45

+0

我现在很困惑。什么是“默认按钮”应该做的?您现有的“btnUpdate”和“btnCancel”按钮无法正常工作吗? – jadarnel27 2012-08-09 16:19:28

回答

0

你为什么不只是使用这种风格,我觉得你使它更加混乱:

<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:"STRINGNAME"ConnectionString %>" ProviderName="<%$ConnectionStrings:ProjectCISConnectionString.ProviderName %>" 
      SelectCommand="SELECT * FROM CIS.CIS_TRANS ORDER BY ID ASC" 
      DeleteCommand="DELETE FROM CIS.CIS_TRANS WHERE ID = :ID" 
      InsertCommand="INSERT INTO CIS.CIS_TRANS (TRANS_CD,FUND_CD,BSA_CD,DP_TYPE,TRANS_CD_DESC) VALUES (:TRANS_CD,:FUND_CD,:BSA_CD,:DP_TYPE,:TRANS_CD_DESC)" 
      UpdateCommand="UPDATE CIS.CIS_TRANS SET TRANS_CD = :TRANS_CD, FUND_CD = :FUND_CD, BSA_CD = :BSA_CD, DP_TYPE = :DP_TYPE, TRANS_CD_DESC =:TRANS_CD_DESC WHERE ID = :ID"> 

     </asp:SqlDataSource> 

“字符串名称” ENTER没有“”的你自己

如果你连接到一个SQL数据库更改:到@

生病给你提供了我的外观截图,让我知道如果你喜欢它。

enter image description here

+0

如何使用将SqlDataSource要给我默认按钮动作在GridView? – Limey 2012-08-09 19:09:31