2016-08-21 8 views
0

テンプレートフィールドにコマンドボタンを含むgridviewがあります。 最初に行を選択せず​​に、コマンドボタンのオンクリックイベントで最初のセル値を取得するにはどうすればよいですか?テストするにはテンプレートフィールドのコマンドボタンをクリックしたときにgridviewセルの値が表示される

、私はラベルのテキスト値を設定しようとしましたが、私は行が最初に選択されていないとして、それはあなたがでCommandArgumentとして行番号を送信することができます

Label3.Text = "test " + GridView1.SelectedRow.Cells[1].Text; 

答えて

0

を動作しないことだと思いますボタン。

<asp:Button ID="Button1" CommandArgument='<%# Container.DataItemIndex %>' OnCommand="Button1_Command" runat="server" Text="Button" /> 

コードの行と列の正しい値を取得します。

protected void Button1_Command(object sender, CommandEventArgs e) 
{ 
    Label3.Text = "test " + GridView1.Rows[Convert.ToInt32(e.CommandArgument)].Cells[1].Text;  
} 

後に発見されたとして、あなたはそうしないと、「無効なポストバックまたはコールバック引数」エラーが発生します、!IsPostBackプロパティへのGridViewの結合をラップする必要があります。

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (!IsPostBack) 
    { 
     GridView1.DataSource = myDataSource; 
     GridView1.DataBind(); 
    } 
} 

注意BoundField列のこのようなGridViewのセル(行[0] .Cells [1]の.text)を検索のみ 作品、TemplateFieldと 列を自動生成しないこと。

+0

返信いただきありがとうございます。私はあなたの提案を試みましたが、このエラーがありました... "無効なポストバックまたはコールバック引数イベントの検証は、ページまたは<%@ Page EnableEventValidation =" true "%>のこの機能は、ポストバックまたはコールバックイベントを有効にするためには、ClientScriptManager.RegisterForEventValidationメソッドを使用して、検証のためにポストバックまたはコールバックデータを登録します。 " – DarkW1nter

+0

奇妙なこと...ここでは、pageディレクティブの 'enableEventValidation = true'と' enableEventValidation = false'の両方で動作します。 – VDWWD

+0

私はenableEventValidation = falseを持っている必要がありますか、上記のエラーが発生します。偽であればエラーは発生しませんが、イベントは発生していないようです。 – DarkW1nter

関連する問題