2011-06-10 77 views
4

我正在使用Telerik RadGrid,我在網格中添加了一個新按鈕,但我怎麼能寫這個按鈕的事件(購買),例如當用戶按(購買)它會用它的價格將這個物品添加到他的購物車中,以便計算他的賬單。 關於C#如何訪問Telerik RadGrid的按鈕

回答

5

你要聽的ItemCommand事件:

<telerik:GridButtonColumn UniqueName="Buy" ButtonType="LinkButton" 
    Text="Buy" ConfirmText="Add to cart?" 
    OnItemCommand="rg_ItemCommand" CommandName="AddToBasket" /> 

在您的代碼隱藏

protected void rg_ItemCommand(object sender, GridCommandEventArgs e) 
{ 
    if(e.CommandName == "AddToBasket") 
    { 
     // Add to basket code here 
    } 
} 

您可能還需要在ItemCreatedItemDatabound事件設置CommandArgument,或使用的東西得到它像rg.MasterTableView.DataKeyValues[e.Item.Index]["ItemId"].ToString();設置ClientDataKeyNames="ItemId"在您的MasterTableView設置部分在ascx文件(如果它是數據綁定)。

+0

很容易很棒男人我喜歡這些直接的答案特別爲begginer(像我一樣)thnx – user748057 2011-06-10 12:34:01

+0

親愛的,我有問你一個問題嗎?我如何訪問其他控件,如:dropDown List,checkBox o radioButtons? – user748057 2011-06-10 14:02:01

+0

那麼它取決於控件的位置(即在列中,在RadGrid行?)。提交另一個問題,關於你想要達到什麼細節,在這些評論中提交URL,我會盡力去解決它:) – mdm 2011-06-10 14:11:28

1

當你創建按鈕時,你需要添加一個OnClick事件來處理點擊按鈕。在這種情況下,您會將該物品添加到購物車。您需要解析按鈕的父行以知道它是哪個項目。

編輯:
由於您使用的是GridButtonColumn和你說那麼這個應用,而不是不添加按鈕(從Telerik.com):

此列renderes的 指定按鈕類型的按鈕 類型GridDataItemGridEditFormItem各 對應的單元格。您可以使用這個按鈕來觸發 可以在RadGrid.ItemCommand 事件處理程序中處理的命令事件。這,在組合 與event bubbling mechanism在 Telerik RadGrid,允許您創建 一列自定義按鈕控件, ,如添加,刪除,選擇或編輯 按鈕。

所以基本上你需要使用網格ItemCommand事件來處理按鈕單擊。

+0

man在GridButtonColumn中沒有事件 user748057 2011-06-10 12:07:51

1

您需要使用網格的ItemCommandEvent。在Telerik RadGrid控件中單擊按鈕時引發ItemCommand事件。這允許您提供事件處理方法,以便在發生此事件時執行自定義例程。請按照LINK瞭解更多詳情。

相關問題