當前位置:編程學習大全網 - 源碼下載 - 下面的C#代碼使用了gridview控件,為什麽單擊編輯數據要 單擊兩次,為什麽單擊更新數據之後頁面任然處於編

下面的C#代碼使用了gridview控件,為什麽單擊編輯數據要 單擊兩次,為什麽單擊更新數據之後頁面任然處於編

我不當好人;只求妳的分數;

1.如何讓我單擊編輯按鈕時,文本框裏面有數據,而不是想圖中那樣,單擊編輯 後什麽都要自己重新寫入(主要是想知道在gridview的那個事件中寫代碼)

答:要想某行點擊編輯之後文本框默認出現數據,必須在GirdView添加行綁定模板如:

<columns <asp:TemplateColumn >

<EditItemTemplate >

<asp:TextBox ID="txtName" runat ="server" Text ='<%#Eval("字段名稱") % >'></asp:TextBox>

</EditItemTemplate>

</asp:TemplateColumn>></columns>

而不是就壹個單純的GridView

2.為什麽在頁面上要單擊編輯兩次後才能進入編輯狀態。

妳使用了 AutoGenerateEditButton="True" 自帶的編輯按鈕,它的機制是相當於壹個服務器控件,要起到回發的作用,解決的辦法就是在isposback底下寫上妳的代碼 或者妳不要用AutoGenerateEditButton="True" 直接在gridview裏面有壹個編輯行的事件底下寫代碼也可以;不會出現點兩次

具體代碼:

GridView1.EditItemIndex = e.newindex; //此處e.newindex 這個e.後面是需要的行索引,具體單詞忘記寫了,妳可以點出來看得到跟new有關的壹個單詞

string tablename = "EmpPurse1";

DataSet data = new DataSet();

mysqlclass EmpPurse = new mysqlclass

(tablename);

data = EmpPurse.GetTable();

GridView1.DataSource = data.Tables

["t1"];

GridView1.DataBind();

3.為什麽編輯後單擊更新,雖然處理了數據,但頁面還是處於編輯狀態。

妳在最後寫完更新代碼之後也要加上

GridView1.EditIndex = -1;

string tablename = "EmpPurse1";

DataSet data = new DataSet();

mysqlclass EmpPurse = new mysqlclass

(tablename);

data = EmpPurse.GetTable();

GridView1.DataSource = data.Tables

["t1"];

GridView1.DataBind();

祝妳成功!

  • 上一篇:瓦楞紙箱怎樣區分A、C、B、E型?希望詳細壹點,謝謝!
  • 下一篇:我想到了壹個項目,需要制作壹個手機app,自己怎麽做,如果找人做需要多少錢?
  • copyright 2024編程學習大全網