DevExpress에서 ASPxGridView 기본 레코드의 일부 속성을 기반으로 그리드의 모든 행에 단추를 표시하거나 숨길 필요가 있습니다. DevExpress ASPxGridView의 경우 GridView.RowDataBound asp.net Gridview에있는 이벤트를 찾을 수 없으므로 문제를 해결하는 데 도움이됩니다.devexpress ASPxGridView 조건부로 행의 단추 표시
감사
DevExpress에서 ASPxGridView 기본 레코드의 일부 속성을 기반으로 그리드의 모든 행에 단추를 표시하거나 숨길 필요가 있습니다. DevExpress ASPxGridView의 경우 GridView.RowDataBound asp.net Gridview에있는 이벤트를 찾을 수 없으므로 문제를 해결하는 데 도움이됩니다.devexpress ASPxGridView 조건부로 행의 단추 표시
감사
더 검색 한 후 나는 gridview.rowdatabound에 해당하는 이벤트가 ASPxGridView가 이
을 HtmlRowCreated하지만 요구 사항 asper 당신이 는 각각의 셀을 스캔 유용합니다을 HtmlDataCellPrepared 시도 할 수 있습니다에 있음을 발견 aspxgridview 또한 우리는 다른 열에서 데이터 값에 액세스 할 수 있습니다 또한 여기에 내가이 일을 설명하는 샘플 코드를 첨부하십시오.
ASPX 페이지
<dx:ASPxGridView ID="ASPxGridView1" OnHtmlDataCellPrepared="ASPxGridView1_HtmlDataCellPrepared" runat="server" AutoGenerateColumns="False">
<Columns>
<dx:GridViewDataTextColumn FieldName="ID">
<DataItemTemplate>
<dx:ASPxButton ID="btn" runat="server" Text="click me">
</dx:ASPxButton>
</DataItemTemplate>
</dx:GridViewDataTextColumn>
<dx:GridViewDataTextColumn FieldName="ItemName">
</dx:GridViewDataTextColumn>
<dx:GridViewDataTextColumn FieldName="ItemValue">
</dx:GridViewDataTextColumn>
</Columns>
</dx:ASPxGridView>
CS 페이지 : 상기 코드
protected void Page_Load(object sender, EventArgs e)
{
ASPxGridView1.DataSource = GetData();
ASPxGridView1.DataBind();
}
public DataTable GetData()
{
DataTable Table = new DataTable();
Table.Columns.Add("ID", typeof(int));
Table.Columns.Add("ItemName", typeof(string));
Table.Columns.Add("ItemValue", typeof(string));
Table.Rows.Add(1, "A", "AA");
Table.Rows.Add(2, "B", "BB");
Table.Rows.Add(2, "B", "BB");
Table.Rows.Add(2, "A", "BB");
return Table;
}
protected void ASPxGridView1_HtmlDataCellPrepared(object sender, ASPxGridViewTableDataCellEventArgs e)
{
if (e.DataColumn.FieldName == "ID")
{
ASPxButton textBox = ASPxGridView1.FindRowCellTemplateControl(e.VisibleIndex, e.DataColumn, "btn") as ASPxButton;
if (Convert.ToString(e.GetValue("ItemName")).Equals("B"))
{
textBox.Text = Convert.ToString(e.CellValue);
textBox.Visible = true;
}
else
{
textBox.Visible = false;
}
}
}
i는 항목 이름 열을 기반으로 하나 숨기기 버튼 열을 갖는다.
도움이 될 수 있기를 바랍니다.
대단히 감사드립니다. 나중에 사용해 보겠습니다. 잠시 동안, 나는 또 다른 아이디어를 위해 일하고있다 : ASPxButton의 속성 Visible에 대한 함수를 사용한다. 어떤 조건에서는 숨겨야한다. –