2011-12-19 87 views
0

在想,如果你們能幫助我或點我在正確的方向傳遞數據存儲的值作爲參數OnRowCommand ASP:ButtonField字段

我使用的是ASP:GridView控件來顯示一些數據,我添加了一個ButtonField字段作爲其中一列,我想要做的是將其中一個文本列的值傳遞給OnRowCommand函數,並使用它進行一些計算。

我的GridView:

<asp:GridView ID="GridViewSchedule" runat="server" OnSorting="TaskGridView_Sorting" OnRowCommand="RowButtonClicked" AutoGenerateColumns="False" Font-Size="11px" 
      CssClass="Grid" AllowSorting="True"> 
    <Columns> 
     <asp:BoundField DataField="Date" HeaderText="Date" SortExpression="Date" /> 
       <asp:BoundField DataField="Name" HeaderText="Schedule Name" SortExpression="Name" /> 
     <asp:BoundField DataField="Message" HeaderText="Message Text" SortExpression="Message"> 
      <ItemStyle Font-Size="10px" /> 
     </asp:BoundField> 
     <asp:ButtonField ButtonType="Button" CommandName="ViewDetails" Text="View" ControlStyle-CssClass="ActionButton" /> 
    </Columns> 
</asp:GridView> 

我想通過以上未列出的值,但它是在店裏,我不顯示該列。

這是我從電網

protected void RowButtonClicked(object sender, GridViewCommandEventArgs e) 
{ 

} 

所以我想知道的是,我怎麼能傳遞一個列的值調用該函數,即使我要補充一句,列到網格,並將其可見性設置爲假?

回答

1

或者,您可以使用DataKeyNames和GridView的SelectedIndexChanged事件來獲取所需的值。數據密鑰名稱將映射到數據源中數據的列名稱。

<asp:GridView ID="GridViewSchedule" runat="server" DataKeyNames="ID,Date,Name" OnSorting="TaskGridView_Sorting" 
     AutoGenerateColumns="False" Font-Size="11px" CssClass="Grid" 
     AllowSorting="True" 
     onselectedindexchanged="GridViewSchedule_SelectedIndexChanged"> 
     <Columns> 
      <asp:BoundField DataField="Date" HeaderText="Date" SortExpression="Date" /> 
      <asp:BoundField DataField="Name" HeaderText="Schedule Name" SortExpression="Name" /> 
      <asp:BoundField DataField="Message" HeaderText="Message Text" SortExpression="Message"> 
       <ItemStyle Font-Size="10px" /> 
      </asp:BoundField> 
      <asp:ButtonField ButtonType="Button" CommandName="ViewDetails" Text="View" ControlStyle-CssClass="ActionButton" /> 
     </Columns> 
    </asp:GridView> 

,然後訪問值這樣的:

protected void GridViewSchedule_SelectedIndexChanged(object sender, EventArgs e) 
{ 
     int val = Convert.ToInt32(GridViewSchedule.DataKeys[GridViewSchedule.SelectedIndex].Values["ID"]); 
} 
+0

我最終什麼事還是用做'OnRowCommand = 「RowButtonClicked」'然後使用'INT VAL = Convert.ToInt32(GridViewSchedule。 DataKeys [GridViewSchedule.SelectedIndex] .Values [「ID」]);'由您提供。謝謝帶領我走向正確的方向 – Armand 2011-12-20 06:29:57

相關問題