【質問】ASP.NETスレ ..
[2ch|▼Menu]
781:nobodyさん
10/02/02 19:23:36
>>780
Repeaterに
<asp:TextBox ID="tbEditName" Columns="80" Text='<%# this.GetColumnData(Container, "Name")%>' runat="server" style="ime-mode: active;" OnFocus="this.select();" ></asp:TextBox>
<asp:Button ID="DeleteButton" runat="server" Text="削除" CommandArgument='<%# this.GetColumnData(Container, "ID") %>' CommandName="Delete" OnClientClick="return confirm('削除しますか?');" />
<asp:Button ID="EditButton" runat="server" Text="編集" CommandArgument='<%# this.GetColumnData(Container, "ID") %>' CommandName="Edit" />
みたいにTextBoxとButtonを設置して、CommandArgumentに設定されたIDから、データベースのIDを取得できる

ID取得したらRepeater内にあるコントロールをナメて、同じIDを持つ行を取得して、
その行にあるTextBoxから入力内容を取得して更新すればいい。
for (int i = 0; i < this.rptTikuMaster.Items.Count; i++)
{
 RepeaterItem ri1 = this.repeater.Items[i];
 TextBox tbEditName = (TextBox)ri1.FindControl("tbEditName");
 int editedID = int.Parse(lblEditID.Text);
  if (editedID == ID)
  {
   //IDが一致したらデータを取得してSQLを更新する
   break;
  }
}

これはRepeater内にTextBoxを設置したパターンだけど、
別途Repeaterの外部にTextBoxを設置しておいて、
そこにRepeaterの編集ボタンを押した行のデータを表示させて、
編集さぜて保存するという方法もある。


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

4975日前に更新/322 KB
担当:undef