- - PR -
DataGridのハイパーリンク列のデータの取得
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2003-09-06 20:56
こんにちは。
いろいろ調べたのですが、わからないことがあり質問させていただきます。 (Vasic で作成) DataGridのデータの取得の方法についてですが、 sHoge = myDataGrid.Items.Item(i).Cells.Item(j).Text とすると指定したセルのデータを取得できるのですが、 ハイパーリンク列の場合はこれでは取得できませんでした。 どのようにすれば、ハイパーリンク列のテキストデータが取得できるのでしょうか? アドバイスをよろしくお願いします。 [ メッセージ編集済み 編集者: わん 編集日時 2003-09-08 17:03 ] |
|
投稿日時: 2003-09-08 07:21
セルの中にハイパーリンクコントロールが作成されているはずなので、
Cells.Item(j).Controlsを使って取得して、そのコントロールのプロ パティから取得できると思います。 VBは使っていないので、コード的にあやふやなんですが・・・ |
|
投稿日時: 2003-09-08 09:30
おはようございます。
当方では不可視列を追加し、 そこに取得したい列の値を格納しています。 この方法なら見た目は変わらず、かつTextで取得可能です。 参考になれば幸いです。 [ メッセージ編集済み 編集者: まゆりん 編集日時 2003-09-08 09:32 ] |
|
投稿日時: 2003-09-08 12:46
「ハイパーリンク列のテキストデータ」とはURLのことでしょうか。
でしたら, ((DataGrid)(DataGrid1.Items[i].FindControl("HyperLink1"))).NavigateUrl で,取得可能です。因みにこれはC#。 DataGrid内の各種コントロールは ・FindControl("コントロールの名称") ・取得したいコントロールの型で型変換 で,情報を得られます。 VBで書くとこんな感じなのでしょうか。 Dim obj As New HyperLink() obj = CType(DataGrid1.Items(i).FindControl("HyperLink1"), HyperLink) obj.NavigateUrl で値がとれます。 VBでの型変換,あってますか?自信なし。 ※いし さんの回答と似た回答です。 |
|
投稿日時: 2003-09-08 17:02
いしさん、まゆりんさん、聖人さん、ありがとうございます。
みなさまのアドバイスをもとに、 sHoge = CType(myDataGrid.Items.Item(i).Cells.Item(j).Controls.Item(0), HyperLink).Text で取得することができました。 sHoge = CType(myDataGrid.Items.Item(i).Cells.Item(j).Controls.Item(0), HyperLink).NavigateUrl とするとURLも取得できました。 Controls.Item(0)にしたらよいことになかなか気づかず、お礼が遅くなってしまいましたが 本当にありがとうございました。 |
|
投稿日時: 2004-02-14 14:23
ハイパーリンクの項目を選択したときに、項目に入っているテキストを取得したいのですが、
Page_Loadの中でFindControlを使用すればいいのでしょうか? DataGridのハイパーリンク列のデータの取得をする場合に、 引用----------------------------------------------- DataGrid内の各種コントロールは ・FindControl("コントロールの名称") ・取得したいコントロールの型で型変換 ----------------------------------------------- となっているのですが、"コントロールの名称" というのは HyperLinkColumunに設定するtextのことでしょうか? ((DataGrid)(DataGrid1.Items[i].FindControl("HyperLink1"))).NavigateUrl ↑の【.NavigateUrl】が出てこないのですが、DataGridとして認識 されていないのでしょうか? HTMLの中で以下のようにかいているのですが、おかしな部分があったら教えてください。 <asp:DataGrid ID="grd1" AutoGenerateColumns="False" Runat="server" DataKeyField="source1"> <Columns> <asp:HyperLinkColumn HeaderText="商品名" DataTextField="source1" DataNavigateUrlField="id" DataNavigateUrlFormatString="sample.aspx?id{0}" Text="Name"' /> <asp:BoundColumn HeaderText="金額" DataField="YosanGengaku"/> </Columns> </asp:DataGrid> |
1