4

特定の条件でGridViewセルにボタンを追加したい。RowDatabound イベントで次のことを行いました

if( i==0)
{
   Button btn= new Button();
   btn.Text = "view more";        
   e.Row.Cells[7].Controls.Add(btn);
}

これを実行すると、バインドされているセル内のテキストが失われ、ボタンのみが表示されます。ボタンとセル テキストが既に存在する必要があります。

誰でも私がこれを行うのを手伝ってもらえますか?

4

3 に答える 3

6

コントロールをセルに追加すると、セル内のテキストが切り捨てられ、コントロールのみが表示されます。

ただし、テキストとボタンの両方を別々に保持することはできます。これを行うには、ラベルの形式で別のコントロールを追加する必要があります。

Label myLabel = new Label();
myLabel.Text = e.Row.Cells[7].Text; //might want to add a space on the end of the Text
e.Row.Cells[7].Controls.Add(myLabel);

LinkButton myLinkButton = new LinkButton();
myLinkButton.Text = "view more";
e.Row.Cells[7].Controls.Add(myLinkButton);
于 2014-09-22T15:00:08.740 に答える
3

これは回避策です。役立つかどうかを確認してください。

Linkbuton要件で実行可能な場合は、既存の BoundColumn を変換できます。

if( i==0)
{
    LinkButton lnkbtn = new LinkButton();
    lnkbtn.Text = e.Row.Cells[7].Text;
   // Create a command button and link it to your id    
   // lnkbtn.CommandArgument = e.Row.Cells[0].Text; --Your Id 
   // lnkbtn.CommandName = "NumClick";
   // btn.Text = "view more";        
    e.Row.Cells[7].Controls.Add(lnkbtn);
}
于 2013-10-29T13:53:25.517 に答える