私は2つの列を持っていますが、行を作成するたびにcontroまたは2つを動的に追加するにはどうすればいいですか?コントロールをグリッドビューに動的に追加するにはどうすればよいですか?
また、動的に列を作成したいと思います。
どのように達成できますか?
私は2つの列を持っていますが、行を作成するたびにcontroまたは2つを動的に追加するにはどうすればいいですか?コントロールをグリッドビューに動的に追加するにはどうすればよいですか?
また、動的に列を作成したいと思います。
どのように達成できますか?
コントロールを追加する列にPlaceHolder
コントロールを配置します。そして、GridViewコントロールのRowDataBoundイベントの編集1プレースホルダ
をコントロールを追加
内のaspxであなたのグリッド列は次のようになります。 -
<Columns>
<asp:TemplateField HeaderText="Column1">
<ItemTemplate>
<asp:PlaceHolder runat='server' ID="column1PlaceHolder"></asp:PlaceHolder>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Column2">
<ItemTemplate>
<asp:PlaceHolder runat='server' ID="column2PlaceHolder"></asp:PlaceHolder>
</ItemTemplate>
</asp:TemplateField>
</Columns>
あなたのRowDataBoundイベントは次のようになります。 -
public void GridView_RowDataBound(Object sender, GridViewRowEventArgs e)
{
if (column1NeedsControls)
{
PlaceHolder placeHolder = e.Row.FindControl("column1PlaceHolder") as PlaceHolder;
TextBox TextBox1 = new TextBox();
placeHolder.Controls.Add(TextBox1);
}
if (column2NeedsControls)
{
PlaceHolder placeHolder = e.Row.FindControl("column2PlaceHolder") as PlaceHolder;
TextBox TextBox1 = new TextBox();
placeHolder.Controls.Add(TextBox1);
}
}
したがって、各行にはテキストボックスが追加されます。私は2つの列を持っていますが、どのように配置するべきかを知るにはどうすればよいですか?2つのコントロールを1つの列に配置し、別のコントロールを別の列に配置したい –
'placeHolder.Controls.Add'メソッドをあなたが望むように多くのコントロール。同様に、2つの列がある場合は、各列にプレースホルダーを配置する必要があり(明らかに2つの異なるIDを持つ)、同じ作業を行う必要があります。 –
しかし、どのようにして2番目の列や最初の列にアクセスするのですか..イベントは任意の行が追加されたときにトリガされます..なぜ私はイベントが必要ですか?/ ..どのように私はそれを引き起こすのです –
あなたはどういう意味ですか - **私は動的に列を動的に作成したいですね。 –