필자는 두 개의 컬럼을 가지고 있는데 어떻게하면 동적으로 하나씩 contro를 추가 할 것인가 ... 행이 생성 될 때마다 ...어떻게 컨트롤을 gridview에 동적으로 추가 할 수 있습니까?
반복을 통해 동적으로 컬럼을 생성하려고합니다.
어떻게 달성 할 수 있습니까?
필자는 두 개의 컬럼을 가지고 있는데 어떻게하면 동적으로 하나씩 contro를 추가 할 것인가 ... 행이 생성 될 때마다 ...어떻게 컨트롤을 gridview에 동적으로 추가 할 수 있습니까?
반복을 통해 동적으로 컬럼을 생성하려고합니다.
어떻게 달성 할 수 있습니까?
컨트롤을 추가 할 열에 PlaceHolder
컨트롤을 배치하십시오. 그 다음의 GridView의 RowDataBound 이벤트 내부에 자리 표시 자 컨트롤을 추가
편집 한
과 같이 표시됩니다 영문에서그리드 열 : -
<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);
}
}
그래서 각 행에 텍스트 상자가 추가됩니다. 나는 두 개의 컬럼을 가지고 있지만, 어떻게 배치해야 할지를 어떻게 알 수 있습니까? 두 개의 컨트롤을 한 열에, 다른 컨트롤을 다른 컨트롤에 넣으려고합니다. –
당신은'placeHolder.Controls.Add' 메서드를 호출하여 다음과 같이 추가 할 수 있습니다. 당신이 원하는대로 많은 컨트롤. 마찬가지로 두 개의 열이있는 경우 각 열 (두 개의 서로 다른 ID가 분명히 있음)에 자리 표시자를 배치하고 동일한 작업을 수행해야합니다. –
하지만 두 번째 열 또는 첫 번째 열에 액세스하는 방법 .. 행이 추가 될 때 이벤트가 트리거됩니다 .. 왜 내가 이벤트가 필요합니까 /? .. 어떻게해야합니까? –
무엇을 의미합니까 : - ** 나는 반복을 통해 동적으로 열을 만들고 싶습니다. **? –