DOBON.NET DOBON.NETプログラミング掲示板過去ログ

DataGridで質問

  • 題名: DataGridで質問
  • 著者: ねね
  • 日時: 2004/09/09 10:03:53
  • ID: 6065
  • この記事の返信元:
    • (なし)
  • この記事への返信:
  • ツリーを表示
分類:[.NET]

初心者的なことをお聞きします。
DataGridで選択されている行を削除するところでつまづいています。

わからない事は
DataGridの行を削除するのに、ボタンでDataView.Delete(選択されている行)で、削除できると思うのですが、DataGridの所で、Deleteボタンを使用すると行が削除されないように設定してあります。(AllowDelete)
AllowDeleteで行を削除できないように設定すると、ボタンで選択されている行が削除されません。エラーで、"AllowDelete"を設定している為、削除できません"みたいな事を言われ、どうすればよいのかわかりません。

行削除はボタンで制御したい場合はどうすればよろしいのでしょうか?
初心者名私にアドバイスをください
こんにちは、ねねさん。

■No6065に返信(ねねさんの記事)
> 初心者的なことをお聞きします。
> DataGridで選択されている行を削除するところでつまづいています。
> 
> わからない事は
> DataGridの行を削除するのに、ボタンでDataView.Delete(選択されている行)で、
> 削除できると思うのですが、DataGridの所で、
> Deleteボタンを使用すると行が削除されないように設定してあります。(AllowDelete)
> AllowDeleteで行を削除できないように設定すると、
> ボタンで選択されている行が削除されません。
> エラーで、"AllowDelete"を設定している為、削除できません"みたいな事を言われ、
> どうすればよいのかわかりません。
> 
> 行削除はボタンで制御したい場合はどうすればよろしいのでしょうか?
> 初心者名私にアドバイスをください

答えていいかどうか微妙な質問ですが...

> エラーで、"AllowDelete"を設定している為、削除できません"みたいな事を

と、言われたのなら、その時だけ開放すればよいのでは?
別の事情で何かまずいのでしょうか?

    Private Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
        DataView1.AllowDelete = True           ' 削除を許可します
        DataView1.Delete(DataGrid1.CurrentRowIndex)       ' DataGridで選択している行を削除
        DataView1.AllowDelete = False          ' 削除を許可しません
    End Sub

> 答えていいかどうか微妙な質問ですが...

これってどういうことです?

>
>>エラーで、"AllowDelete"を設定している為、削除できません"みたいな事を
>
> と、言われたのなら、その時だけ開放すればよいのでは?
> 別の事情で何かまずいのでしょうか?
>
> Private Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
> DataView1.AllowDelete = True ' 削除を許可します
> DataView1.Delete(DataGrid1.CurrentRowIndex) ' DataGridで選択している行を削除
> DataView1.AllowDelete = False ' 削除を許可しません
> End Sub

やはりこういう使い方になるのですね。
ただ他にも記述の方法があるのかと思いお聞きしました。
削除するときだけTrueにし、後はFalseにするのは記述方法がおかしい。他のやり方があるのでは?と思いお聞きしました。
不具合が生じるということではないですけどね。
  • 題名: Re[3]: DataGridで質問
  • 著者: java.lang.Nullpo
  • 日時: 2004/09/09 14:13:45
  • ID: 6078
  • この記事の返信元:
  • この記事への返信:
    • (なし)
  • ツリーを表示
■No6077に返信(ねねさんの記事)
> > 答えていいかどうか微妙な質問ですが...
> これってどういうことです?

いや、例外情報で

 > "AllowDelete"を設定している為、削除できません" みたいな事

を見たのなら、それに従ってやれば良いことは考え付きそうな話だったからです。
(で、その予想が当たってしまったわけですが)


ですので、

> やはりこういう使い方になるのですね。
> ただ他にも記述の方法があるのかと思いお聞きしました。

などど後から言われても、時間を割いただけに何となく気分が悪いですし。
もし、ホントにそうだったのなら、初めからそういう風に質問すれば良いコトですね :)
以下の引用を見る限り、それを読み取れる人はフツーいませんね。:)

引用:-------------------------------------------------------------

  > DataGridで選択されている行を削除するところでつまづいています。
  > どうすればよいのかわかりません。

-------------------------------------------------------------------


> 削除するときだけTrueにし、後はFalseにするのは記述方法がおかしい。

なぜ、おかしいのでしょうか?
私が「おかしい」のは認めますが(^^;
プロパティの概念から考えるに何がどうおかしいのかわかりません。
それとも、Trueにしている間に他の処理が入る余地がある設計なのですか?


> ただ他にも記述の方法があるのかと思いお聞きしました。

他の記述なら、あるんじゃないのかなー。
AllowDeleteプロパティや、楽なやり方を抜きにすれば。
でも複雑なことやってない限りは、ただのムダでしょうし。


> 不具合が生じるということではないですけどね。

では、いいのではないでしょうか。:-)

DOBON.NET | プログラミング道 | プログラミング掲示板