0
私はImageButtonを含むコードビヘイビアを介してDatagrid TemplateColumnを作成する必要があるプロジェクトに取り組んでいます。私はCodeProjectに必要なものを発見したが、私はITemplate IDは一意である必要があります
複数のDataGridのItemDataBound方法を経由してコントロールを検索しようとしたとき、私は例外を以下の取得実行時にコードを実行したときに私が持っている唯一の問題はあります同じIDを持つコントロール 'uxPlusMinusImageButton'が見つかりました。 FindControlでは、コントロールに一意のIDが必要です。
この
クリックIMAGEBUTTONprivate void uxSummaryInfoDataGridItemDataBound(DataGrid summaryDataGrid, DataGridItem item)
{
if (item.ItemType == ListItemType.Item || item.ItemType == ListItemType.AlternatingItem)
{
SummaryInformation summaryInfo = (SummaryInformation)item.DataItem;
ImageButton plusMinusImageButton = (ImageButton)item.Cells[1].FindControl("uxPlusMinusImageButton");
plusMinusImageButton.Click += new ImageClickEventHandler(PlusMinusImageButton_Click);
DataGridOnItemDataBoundMethod
DataGridPopulateMethod
private void PopulateDataGrid()
{
TemplateColumn plusMinusContractImage = new TemplateColumn();
plusMinusContractImage.ItemTemplate = new PlusMinusColumn("uxPlusMinusImageButton");
uxSummaryInfoDataGrid.ItemDataBound += new DataGridItemEventHandler(uxSummaryInfoDataGrid_ItemDataBound);
uxSummaryInfoDataGrid.DataSource = contracts;
uxSummaryInfoDataGrid.Columns.Add(new BoundColumn() { HeaderText = "ID", DataField = "ColumnID", Visible = false });
uxSummaryInfoDataGrid.Columns.Add(plusMinusContractImage);
uxSummaryInfoDataGrid.Columns.Add(new BoundColumn() { HeaderText = "Title 1", DataField = "Column1" });
uxSummaryInfoDataGrid.Columns.Add(new BoundColumn() { HeaderText = "Title 2", DataField = "Column2" });
uxSummaryInfoDataGrid.DataBind();
私のコードです
protected void PlusMinusImageButton_Click(object sender, ImageClickEventArgs e)
{
PopulateDataGrid();
}