C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[4]: GridViewでの編集に関する制限


(過去ログ 41 を表示中)

[トピック内 5 記事 (1 - 5 表示)]  << 0 >>

■21486 / inTopicNo.1)  GridViewでの編集に関する制限
  
□投稿者/ 猫 (19回)-(2008/07/03(Thu) 09:37:46)

分類:[ASP.NET (C#)] 

ASP.NET2.0のGridViewで、「編集」リンクボタンを追加しました。
データの項目については、「コード」と「名前」の二つです。
この内、「コード」については主キーを設定してあります。

現在、「編集」リンクボタンをクリックすると、「コード」と「名前」が編集可能になりますが、「コード」については変更して「更新」のリンクボタンをクリックしても元の値のままで更新される状態です。
(「名前」については変更して「更新」すれば、その通りに変更が完了します。)

ややこしいので、どうせ変更できないのなら、元々「編集」をクリックしても「コード」が変更可能状態にならないようにしたいのですが、どうすればいいのでしょうか?

「はじめてのASP.NET2.0プログラミング」というテキストにも、別の要件について調べていて行きついたHPにも、結果として掲載されている画像では変更可能状態にならないような状態の画面を多数見かけるのですが、実際どういった設定でそうなるのかは載っていなかったように思います。(その後、ネットで「GridView 変更不可」「GridView 編集 特定列」等で検索をかけましたが、捜し求めている情報を見つける事が出来ませんでした)

「GridViewにおいて、特定の列データを編集できないようにする」設定方法を知っている方がいらっしゃいましたら、是非ご教授下さい。
お願いいたします。
引用返信 編集キー/
■21487 / inTopicNo.2)  Re[1]: GridViewでの編集に関する制限
□投稿者/ いしだ (141回)-(2008/07/03(Thu) 10:45:28)
こんにちは。

<asp:BoundField DataField="code" ReadOnly="True" ....
って感じじゃないでしょうか。
引用返信 編集キー/
■21488 / inTopicNo.3)  Re[2]: GridViewでの編集に関する制限
□投稿者/ 猫 (21回)-(2008/07/03(Thu) 10:55:09)
No21487 (いしだ さん) に返信

> <asp:BoundField DataField="code" ReadOnly="True" ....
> って感じじゃないでしょうか。

いしだ様、早速の返信ありがとうございます。
・・・まさにそれでした。

ReadOnly・・・テキスト等でしか使った事がなかったので、コントロール事態に(この場合「名前」も)影響してしまうと妙な勘違いをしていたようです。

初歩的な質問にお手を煩わせてしまい、申し訳ありませんでした。
解決済み
引用返信 編集キー/
■21491 / inTopicNo.4)  Re[3]: GridViewでの編集に関する制限
□投稿者/ いしだ (142回)-(2008/07/03(Thu) 11:24:44)
2008/07/03(Thu) 11:25:19 編集(投稿者)
参考までに、codeを更新する事も出来ますよ(主キーを更新する是非は置いておいて。。。)。
aspxの方で、

<asp:SqlDataSource ....
 UpdateCommand="UPDATE [teble1] SET [name] = @name, [code] = @code
 WHERE [code] = @original_code AND [name] = @original_name" ConflictDetection="CompareAllValues"
 OldValuesParameterFormatString="original_{0}">

......

    <UpdateParameters>
        <asp:Parameter Name="code" Type="Int32" />
        <asp:Parameter Name="name" Type="String" />
        <asp:Parameter Name="original_code" Type="Int32" />
        <asp:Parameter Name="original_name" Type="String" />
    </UpdateParameters>
</asp:SqlDataSource>

って感じに修正してやればいいです。

ただ、ウィザードから作成したSqlDataSourceのソースを直でいじるのは、
あまり良くないと言われている事を、心に留めておいて下さい。
(おそらく、うまく連携がとれていないからでしょうね。)

解決済み
引用返信 編集キー/
■21494 / inTopicNo.5)  Re[4]: GridViewでの編集に関する制限
□投稿者/ 猫 (22回)-(2008/07/03(Thu) 11:48:55)
No21491 (いしだ さん) に返信
> 2008/07/03(Thu) 11:25:19 編集(投稿者)
>
> 参考までに、codeを更新する事も出来ますよ(主キーを更新する是非は置いておいて。。。)。

> ただ、ウィザードから作成したSqlDataSourceのソースを直でいじるのは、
> あまり良くないと言われている事を、心に留めておいて下さい。
> (おそらく、うまく連携がとれていないからでしょうね。)

先程、思いきり直でソースを弄ろうとしてました・・・。

実はこのレスのものとは別に主キーを上書き更新するのも作成する予定だったので、ソース提示がとてもありがたいです!!
これを参考に、(十分に気を付けて)ソース改編を行いたいと思います。

改めまして、ありがとうございました。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -