DataGrid自帶的更新按鈕修改超鏈接列的內容

首先,在DataGrid有一模版列,模版列中ItemTemplate中放置HyperLink控件,EditItemTemplate中可放入一TextBox,html中的相應代碼爲

<asp:TemplateColumn HeaderText="報表名稱">
                            
<ItemTemplate>
                                
<asp:HyperLink id=Hyperlink1 runat="server" NavigateUrl='<%# DataBinder.Eval(Container, "DataItem.rptlink")%>' Target="_self">
                                    
<%# DataBinder.Eval(Container, "DataItem.name"%>
                                
</asp:HyperLink>
                            
</ItemTemplate>
                            
<EditItemTemplate>
                                
<asp:TextBox id=txtName runat="server" Width="280" Text='<%#DataBinder.Eval(Container.DataItem,"name")%>'>
                                
</asp:TextBox>
                            
</EditItemTemplate>
                        
</asp:TemplateColumn>

後臺DataGrid的更新事件

//更新
        private void dgWTJ_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
        
{
            
string rptname = ((TextBox)(e.Item.Cells[0].Controls[1])).Text; 
            
long reportid = long.Parse(e.Item.Cells[5].Text);
            
            
if (rptname == "")
            
{
                
this.lblerr.Text = "提示信息:報表名稱不能爲空!";
            }

            
else
            
{
                
//報表重命名,參數爲報表名稱,報表ID
                this.lblerr.Text = "";
                hbbu.RenameReport(rptname,reportid);
                
this.dgWTJ.EditItemIndex = -1;
                BindWTJList();
            }

        }

在DataGrid中顯示但不需要修改的列可設置爲只讀。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章