2017-03-16 9 views
0

私はImageButtonを含むコードビヘイビアを介してDatagrid TemplateColumnを作成する必要があるプロジェクトに取り組んでいます。私はCodeProjectに必要なものを発見したが、私はITemplate IDは一意である必要があります

複数のDataGridのItemDataBound方法を経由してコントロールを検索しようとしたとき、私は例外を以下の取得実行時にコードを実行したときに私が持っている唯一の問題はあります同じIDを持つコントロール 'uxPlusMinusImageButton'が見つかりました。 FindControlでは、コントロールに一意のIDが必要です。

この

クリックIMAGEBUTTON
private 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(); 
} 

答えて

0

私はこの問題を解決しました。元のダイナミックデータグリッド列をクリアしていないので、同じ名前のコントロールを作成していたので、このエラーが発生しました。

関連する問題