• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ASP.Net GridView の加工)

ASP.Net GridViewの加工方法

noname#259269の回答

  • ベストアンサー
noname#259269
noname#259269
回答No.2

No.1 です。参考 URL を貼るのを忘れましたので追加。 http://msdn.microsoft.com/ja-jp/library/aa479353.aspx

kyokotan12
質問者

お礼

edp3142さん 大変お世話になっております。 申し訳ございません。FindControl メソッドは使えました。 私の書式が間違っておりました。 しかし、ご提示いただいた例題で解決できました。 ありがとうございました。

関連するQ&A

  • ASP.Net GridView TextBoxで

    大変お世話になります。 FormViewにあるGridView を編集状態にした状態で、 Dim Gv As GridView = FormView1.Row.FindControl("GridView1") TextBoxのデータを変更した際に、他のTextBoxの内容を変更したいのですが、 この場合、GridViewのTextBoxのTextChangedイベントを使用しています。 ここで問題なのが、 (1) GridVew の行の Index の取得 (2) TextChangedイベント内での FindControl の記述の仕方 上記のやり方がよくわかりません。 ボタンを使用した場合の Index の取得などはわかるのですが、 GridView1_RowCreated イベントで Dim A As Button = CType(e.Row.FindControl("A"), Button) A.CommandArgument = e.Row.RowIndex.ToString() 上記(1)、(2)はどうしたらよいのかわかりません。 編集状態にあるGridView の Index の取得方法とローカル関数でのFindCotrol メソッドの やり方など、お分かりになる方がいらっしゃいましたら 何卒ご教授いただければと存じます。

  • ASP.Net GridView Select

    大変お世話になっております。 GridView のテンプレートにボタンを2つ配置しております。 A と B どちらのボタンのCommandName にも Select を記述して 選択された行のあるフィールドの値を取得したいのですが、 GridView1_SelectedIndexChanging で、e.NewSelectedIndex を使い該当セルを見つけることはできるのですが、AとBのボタンそれぞれで違うことをしたいのです。 イメージ的にいいますと     If CommnadButton.Name = "A" then         Aでやりたいこと     else If CommandButton.Name = "B" then         Bでやりたちこと     end if CommnadButton.Name なんてメソッドもプロパティも存在しないものですが、 SelectedIndexChanging イベントの中で どのボタンが押されてこのイベントが実行されるのかが、わかる方法がございましたら、ぜひご教授いただけますと大変助かる次第でございます。 何卒よろしくお願い申し上げます。

  • ASP.Net GridView DataBind

    お世話になります。 FormView の中に いくつかのコントロールと ボタンとGridView を配置しております。 ボタンを押すと、GridView のレコードが追加するような UpDate文を実行するようになっています。 GridViewのデータも一緒に新しいデータとともに表示を更新させたいと思うのですが、 GridView の DataBindメソッドをどうやって呼び出していいかわかりません。 名前は GridView1 なのですが、Button1_Click メソッドの中で、GridView1 の候補が出ないですし、 どうやって定義して、実行すればいいのかわかりません。 何卒よろしくお願い申し上げます。

  • GridViewのコントロールを変更したい

    お知恵を貸してください。 データが1件もなくても、見出しを見せるために データ行の1行目をヘッダーとして扱っています。 また、表示したい列が可変長のため、 デザイン側では、TemplateField等を指定せずに、 RowDataBoundイベントにて、一部の項目を テキスト、ボタン、リンクに変更しました。 この状態でボタンを押したら、 変更したテキスト、ボタン、リンクが消えてしまったので、 RowCreatedイベントでコントロールを作る処理をいれたのですが、 直接バインドするデータがなかった最後の列については、 e.Row.Cells.Addで実現できたのですが、 バインドしている項目については、 e.Row.Cells[0].Controls.Add(テキスト)としてみたのですが、 RowDataBoundイベントで、RowCreatedで作ったはずのIDが FindControlで取得できません。 実行時にバインドされるコントロールを変えることはできないのでしょうか?

  • GridViewのDropDownLisについて

    よろしくお願いします ASP.NET(Microsoft Visual Basic 2010)で開発をしております。 GridViewにDropDownLisを配置しているのですが、 リストを選択したときの、GridViewの行(row)を取得する方法が分かりません。 OnSelectedIndexChangedを使用すると変更時のイベントを拾えて リストボックスの内容を取得出来るところまでは調べたのですが、 変更したリストボックスと同じ行にある別の項目の値を取得する 必要があるのですが、その方法が分かりません。 変更した行番号が分かれば「gridView.Rows(3).Cells(3).Text」で 値の取得は出来るのかな?と考えました。 なので、目的は同行の値の取得なので、もし行数が分からなくても 構いません。 自分なりには、かなり調べたつもりなのですが、どうしても答えを 導けず困っています。 お分かりの方がありましたら、是非ご教授頂ければ幸いです。 よろしくお願い致します。

  • GridViewからの値を全件LOOPして取得したい

    GridViewについて教えてください。 <環境>ASP.NET データソースにSQLDataSourceを指定し、GridViewに全件を自動バインドして表示しています。 画面上に設置したボタン押下のイベントハンドラで、そのGridViewの全行をループして各列の値を参照したいのですが、 以下のようなに記述しても(1)の部分でNOTHINGとなりエラーになります。 どのようにすればよいでしょうか? やりたいことは、GridView全行ループし、ITEMKINDの値が"1"の時、TemplateField内にあるtxtNVERCHARの値を取得することです。 ご教授お願いします。 --------------------------------- <Columns> <asp:BoundField DataField="ITEMKIND" HeaderText="ITEMKIND" Visible="False" /> </asp:BoundField> <asp:TemplateField HeaderText="ITEM"> <ItemTemplate> <asp:TextBox CssClass="txtstr" ID="txtNVERCHAR" runat="server" Text='<%# Bind("ITEM_NVERCHAR", "{0}") %>'></asp:TextBox> </ItemTemplate> </asp:TemplateField> </Columns> --------------------------------- Protected Sub 更新_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnExec.Click For Each row As GridViewRow In grdList.Rows Dim strITEMKIND As TextBox = DirectCast(row.FindControl("ITEMKIND"), TextBox)  ←(1) IF strITEMKIND.Text = "1" THEN Dim strDDL As TextBox = DirectCast(row.FindControl("txtNVERCHAR"), TextBox) End IF Next End Sub

  • ASP.NET 2.0(C#) GridViewのソート機能をデフォルトで降順にしたい

    GridViewコントロールで「並べ替えを有効」にすると、各フィールドごとに、ヘッダーのリンクをクリックするたびに昇順→降順でソートできるようになりますが、これをあるフィールドだけ、降順→昇順にすることはできないでしょうか? GridView1のSortingイベントで protected void GridView1_Sorting(object sender, GridViewSortEventArgs e) { //hogeフィールドだけデフォルトで降順にしたい if (e.SortExpression == "hoge") { if (e.SortDirection == SortDirection.Ascending) e.SortDirection = SortDirection.Descending; else e.SortDirection = SortDirection.Ascending; } } などとしてみたのですが、これでは常に降順になってしまいます。 よろしくお願いします。

  • GridViewにバインドせずにデータを表示する方法

    環境:VS2008&VB.NET&ASP GridViewに手動でテーブルからデータを読みデータバインドせず DBの値を表示する方法を考えていますがうまくいかず困っています。 (データバインドしたくない理由はデータバインドを行っていると行の挿入や移動ができない認識のためです。) 初心者のため見当違いなことをしているかもしれませんが それも含めまして質問させていただきます。 質問1 そもそもGridViewでデータバインドせずに手動でデータを表示することは可能でしょうか。 質問2 以下のコードで試しましたが「GridView1.Controls(0).Controls.Add(row1)」でExeptionが発生してしまいました。 手順に不適格な箇所があるのでしょうか。 strSql = "SELECT * FROM Data_Table" Using connection As New SqlClient.SqlConnection(cnStr) Dim command As New SqlClient.SqlCommand(strSql, connection) connection.Open() Dim dr As SqlClient.SqlDataReader = command.ExecuteReader While (dr.Read = True) 'データあり str1 = dr("data1") str2 = dr("data2") str3 = dr("data3") End If connection.Close() Dim item1 As DataGridItem item1 = New DataGridItem(-1, -1, ListItemType.Item) Dim cell0 As TableCell = New TableCell item1.Cells.Add(cell0) Dim cell1 As TableCell = New TableCell item1.Cells.Add(cell1) Dim cell2 As TableCell = New TableCell item1.Cells.Add(cell2) Dim row1 As New GridViewRow(-1, -1, DataControlRowType.Header, DataControlRowState.Normal) row1.Cells.Add(cell0) row1.Cells.Add(cell1) row1.Cells.Add(cell2) GridView1.Controls(0).Controls.Add(row1) End While End Using エラーの内容 System.ArgumentOutOfRangeException はユーザー コードによってハンドルされませんでした。 Message="指定された引数は、有効な値の範囲内にありません。 パラメータ名: index" お力添えをよろしくお願い致します。

  • ASP.NET2.0 GridViewのページャー設定について

    お世話になります。 現在VS2005のASP.NETを学習しております。 GridViewコントロールのページャー設定について質問があります。 500レコード程のデータを1ページに10件ずつ表示しようと思い、 GridViewコントロールのPagerSettingsプロパティのVisibleをTrueに設定しました。 それだけでテーブル下にページ番号リンクが表示され、とても簡単で感動しました。 その後、同じくPagerSettingsプロパティのModeをNumericからNextPreviousに変更するなど、いろいろ試していました。 そこで気づいたのですが、そのモードの中にFirstLastとNumericが一緒になったものはあるのですが、 NextPreviousとNumericが一緒になったモードがありません。 冷静に考えると現在のページ番号の両隣のリンクを押せばいいだけなのですが、 頑固な方がどうしてもページ番号と前へ・次へボタンを一緒にしてくれと頼まれた場合、 そのようにカスタマイズすることは可能なのでしょうか? また可能な場合、どのようにすれば実現できるのでしょうか? 知っている方がいたら、どうぞ宜しくお願いします。

  • GridViewのEditTemplate

    すみません。改めて質問させていただきます。 GridViewのEditTemplateにDropDownListが配置されています。 更新したときに、そのDropDownListの値を取得する方法をご教授頂きたいです。 言語はVBです。以下のコードを書きましたが取得できません(Updatingイベントのとき)↓ Protected Sub GridView1_RowUpdating(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewUpdateEventArgs) Handles GridView1.RowUpdating MsgBox(GridView1.Rows(e.RowIndex).ToString) End Sub とりあえずメッセージボックスにドロップダウンリストの値を表示したいです。