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

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

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

全過去ログを検索

<< 0 >>
■6973  Re[2]: ArrayListをDataGridにバインドするには
□投稿者/ じゃかるた -(2007/08/28(Tue) 11:35:11)
    No6971 (ぼのぼの さん) に返信
    > MSDNを見ながら勘でいろいろ試してたらこんなんでいけました。

    できました!
    コードまで提示していただきありがとうございます。
    半分あきらめていたので大変うれしいです。感謝します。
記事No.6965 のレス / END /過去ログ17より / 関連記事表示
削除チェック/

■6972  Re[2]: ArrayListをDataGridにバインドするには
□投稿者/ ぼのぼの -(2007/08/28(Tue) 11:33:51)
    蛇足ですが、データの容れ物としてはArrayList+string[]よりDataTableの方がオススメです。
    前者だとインデクスでしかアクセスできないので、後で途中に列が追加になった時、
    順番が全部ずれちゃいますが、DataTableだと名前でアクセスできますからね。
    
    DataTable tbl = new DataTable();
    tbl.Columns.Add("名前", typeof(string));
    tbl.Columns.Add("所属", typeof(string));
    tbl.Rows.Add(new string[] {"山本", "経理"});
    tbl.Rows.Add(new string[] {"佐藤", "営業"});
    tbl.Rows.Add(new string[] {"田中", "企画"});
記事No.6965 のレス /過去ログ17より / 関連記事表示
削除チェック/

■6974  Re[3]: ArrayListをDataGridにバインドするには
□投稿者/ じゃかるた -(2007/08/28(Tue) 11:36:49)
    No6972 (ぼのぼの さん) に返信
    > 蛇足ですが、データの容れ物としてはArrayList+string[]よりDataTableの方がオススメです。
    > 前者だとインデクスでしかアクセスできないので、後で途中に列が追加になった時、
    > 順番が全部ずれちゃいますが、DataTableだと名前でアクセスできますからね。
    >
    > DataTable tbl = new DataTable();
    > tbl.Columns.Add("名前", typeof(string));
    > tbl.Columns.Add("所属", typeof(string));
    > tbl.Rows.Add(new string[] {"山本", "経理"});
    > tbl.Rows.Add(new string[] {"佐藤", "営業"});
    > tbl.Rows.Add(new string[] {"田中", "企画"});

    さっそく、ご指摘の方法に変更します。
    重ねてお礼申し上げます。
記事No.6965 のレス / END /過去ログ17より / 関連記事表示
削除チェック/

■32715  Re[7]: C#配列へ格納
□投稿者/ επιστημη -(2009/02/13(Fri) 10:24:28)
>
    > >ためしに今、なんとか作れるコードとして作成している最中です。
    > 
    > チンチン☆⌒ 凵\(\・∀・) まだぁ? 
    
    とっくにTimeOverしてっだろからお披露目。
    
    using System.Collections.Generic;
    
    class Program {
      public static void Main() {
        // 単語表
        IEnumerable<string> keywords = new string[] { "うし","しか","かも","かもしか" };
        // 入力
        string input = "うしかもしかしかいないかも";
        // 分割文字列群 : 結果はココに。
        List<string> divided = new System.Collections.Generic.List<string>();
    
        // 入力がなくなるまで繰り返し
        while ( input.Length != 0 ) {
          // 入力文字列が単語表にある文字列から始まるかを調べ、
          // 切り出す文字数を設定
            int splitLength = 1;
            foreach (string keyword in keywords) {
            if ( input.StartsWith(keyword) ) {
              splitLength = keyword.Length;
              break;
            }
          }
          // 文字列を切り出して分割文字列群に追加し、入力文字列の頭を削る
          divided.Add(input.Substring(0,splitLength));
          input = input.Remove(0,splitLength);
        }
        // 結果確認
        string[] HAIRETU = divided.ToArray();
        foreach ( string word in HAIRETU ) {
          System.Console.WriteLine(word);
        }
      }
    }
記事No.32113 のレス /過去ログ57より / 関連記事表示
削除チェック/

■54666  Re[31]: c#アプリ、db設計について
□投稿者/ PATIO -(2010/10/28(Thu) 21:20:35)
    2010/10/28(Thu) 21:30:32 編集(投稿者)
    2010/10/28(Thu) 21:27:48 編集(投稿者)

    No54657 (ぽん さん) に返信
    > むしろgameidとplayeridのコンポジットキーをPKにしたのですが、そうすると、
    > データ入力時にplayeidが重複した場合、怒られてしまって。。。

    時間があるのでしたらここはじっくり行きましょう。
    中途半端に進めてしまっても後々疑問が残ったままになってしまいます。
    テーブルを作成する部分はどのように行なっていますか?
    MySQLを使う事が多くてSQLServerは使わないのでその辺が良く分からないですが。

    もしかしてgameidとplayeridにユニーク制約をつけていませんか?
    コンポジットキーとしてPKにする場合、
    それぞれの項目を単独で見た時はユニークでは無いのでユニーク制約をつけると
    当然、重複エラーになると思いますけれど。
    というか、単独ではユニークでないからコンポジットキーにしているわけですよね。
    この辺は、ユニーク制約をどうして付けるのかを考えてみて下さい。
    ユニークで無いと困る事がわかっているからその項目に対してユニーク制約をかけて
    データの整合性を保とうとしているわけです。
    ユニークになりえない項目に対してはユニーク制約をつけてはいけません。

    この辺は割りとベーシックな話だと思うので入門書等で確認されると良いと思います。

    追伸:
    気になったのですが、gameidとplayeridをセットで見た時に成績テーブル上に同じ項目のセットを持つデータがあったりしますか?
    例えばですが、同一のgameidで同じplayeridを持つレコードが二つ以上出来るような状態だとPKとしてはだめと言う事になります。
    私は、同じgameidを持つ成績レコードは4つ、つまりその時に参加していたplayeridしか無いと思っていたのですけれど。
    つまり、(gameid, playerid)= (1,1)、(1,2)、(1,3)、(1,4)の四つと言う意味です。(つまりセットで見たときは重複しない)
記事No.54451 のレス /過去ログ91より / 関連記事表示
削除チェック/

■64915  Re[1]: VB.NetでModuleからボタンを操作したい
□投稿者/ shu -(2013/01/22(Tue) 12:53:36)
    No64910 (MP枯渇ウィザード さん) に返信
    
    案1)ボタンだけのフォームを作りそこから派生させる。
    案2)ボタン部分をユーザーコントロールにする
    案3)制御用のコンポーネントを作成する。
    
    
    案3のコンポーネントについて書きます。
    新規追加でコンポーネントを追加します。
    Designer.vbファイルはそのままで
    vbファイルを例えば以下のように記述します。
    Imports System.ComponentModel
    
    <ProvideProperty("FuncNo", GetType(Windows.Forms.Control))> _
    Public Class Component1
        Implements IExtenderProvider
    
        Friend ButtonNo As New Dictionary(Of Button, String)
    
        Public Function CanExtend(extendee As Object) As Boolean Implements System.ComponentModel.IExtenderProvider.CanExtend
            If TypeOf extendee Is Button Then
                Return True
            Else
                Return False
            End If
        End Function
    
        Public Function GetFuncNo(ByVal ctrl As Windows.Forms.Control) As String
            If Not TypeOf ctrl Is Button Then Return Nothing
            Dim btn = DirectCast(ctrl, Button)
            Dim ret As String = Nothing
            If ButtonNo.TryGetValue(btn, ret) Then
                Return ret
            Else
                Return Nothing
            End If
        End Function
    
        Public Sub SetFuncNo(ByVal ctrl As Windows.Forms.Control, ByVal value As String)
            If Not TypeOf ctrl Is Button Then Exit Sub
            Dim btn = DirectCast(ctrl, Button)
            If String.IsNullOrEmpty(value) Then
                If ButtonNo.ContainsKey(btn) Then
                    ButtonNo.Remove(btn)
                End If
            Else
                ButtonNo(btn) = value
            End If
        End Sub
    
        Public Property Enabled As Boolean
            Get
                If ButtonNo.Count > 0 Then
                    Return ButtonNo.Keys(0).Enabled
                Else
                    Return False
                End If
            End Get
            Set(value As Boolean)
                For Each btnNo In ButtonNo
                    btnNo.Key.Enabled = value
                Next
            End Set
        End Property
    End Class
    
    一度コンパイルします。
    するとフォームデザイン状態でツールボックスから作成したComponent1を選ぶことが出来るようになります。
    Component1をフォームに貼りつけると
    各ButtonコントロールにToolTipのような拡張プロパティ『Component11のFuncNo』というのが表示されるので
    そこに適当に文字を入力します。Func1Buttonなら1など。
    後はコード上でComponent11.EnabledをTrue,Falseに変えるとFuncNoを設定したButtonのEnabledがすべて変わります。
    
    
記事No.64910 のレス /過去ログ109より / 関連記事表示
削除チェック/

■88268  Re[2]: VBScriptのオブジェクトへのアクセスが遅くなった?
□投稿者/ おろちまる -(2018/08/17(Fri) 07:18:22)
    はまぐり探偵さん

    ありがとうございます。
    やっぱり昔は速かったんですね。

    VBScriptは死に行く運命なんでしょうか。
    常用するのが難しいほどの性能なので乗り換え先を探そうと思います。

    ありがとうございました。
記事No.88239 のレス /過去ログ153より / 関連記事表示
削除チェック/

■88269  Re[3]: VBScriptのオブジェクトへのアクセスが遅くなった?
□投稿者/ おろちまる -(2018/08/17(Fri) 07:18:51)
    No88268 (おろちまる さん) に返信
記事No.88239 のレス / END /過去ログ153より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -