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

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

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

No.66112 の関連記事表示

<< 0 >>
■66112  FlexgridにDatatableの任意の列を設定する
□投稿者/ パル -(2013/04/02(Tue) 04:11:03)

    分類:[.NET 全般] 

    こんにちは
    VB2008です。

    Flexgridの任意の列にDatatableの任意の列を設定したいのですが、
    どのようにすればよいのでしょうか。

    普通のDatagridviewだと

    DGV.DataSource = dataTable

    DGV.Column("列名").DataPropertyName = "Datatableの任意の列"

    でできたのですが、Flexgridに変更しなければいけなくなり初めて利用するものでよく分かりません。
    よろしくお願いいたします。
親記事 /過去ログ112より / 関連記事表示
削除チェック/

■66114  Re[1]: FlexgridにDatatableの任意の列を設定する
□投稿者/ howling -(2013/04/02(Tue) 11:58:10)
    No66112 (パル さん) に返信

    こんにちわ。
    さっぱり触ったことが無いのですが、このツールって付属のドキュメントがかなり強力なようです。
    というか、ほぼドキュメント読め、ってことのようですが。

    http://download.grapecity.com/help/componentone/windowsphone/default.htm?turl=documents%2Fflexgrid%25E3%2581%25AE%25E4%25BD%25BF%25E3%2581%2584%25E6%2596%25B9.htm

    とりあえず、ここに書かれてることを見ると、

    DataSourceの代わりにItemsSourceを使用する(と、どうも指定したテーブル全てが列となって表示される模様)
    hoge.Column("列名")の代わりにhoge.Columns["列名"]として、これのVisibleをfalseにすることで列を整える

    …という方法で、実現自体は可能なようです。

    …VBのソースが無いのが残念ですね…。
記事No.66112 のレス /過去ログ112より / 関連記事表示
削除チェック/

■66118  Re[2]: FlexgridにDatatableの任意の列を設定する
□投稿者/ shu -(2013/04/02(Tue) 14:05:24)
記事No.66112 のレス /過去ログ112より / 関連記事表示
削除チェック/

■66119  Re[1]: FlexgridにDatatableの任意の列を設定する
□投稿者/ shu -(2013/04/02(Tue) 14:09:02)
    No66112 (パル さん) に返信

    DataSourceにするデータの並び順を工夫すれば列の場所を合わせることが出来るかと思います。
    やってみないと分からない事なので正しいのかは分かりません。
記事No.66112 のレス /過去ログ112より / 関連記事表示
削除チェック/

■66155  Re[2]: FlexgridにDatatableの任意の列を設定する
□投稿者/ パル -(2013/04/04(Thu) 07:11:03)
    お二方ありがとうございます。

    とりあえず、表示させることはできました。
    方法としては、shu さんの

    > DataSourceにするデータの並び順を工夫すれば列の場所を合わせることが出来るかと思います。

    を参考に、まずDataSourceに設定した後必要な行を追加・削除することで表示したい状態に持っていくことができました。

    しかし、この後表示させたGridにデータを反映することができません。

    やりたいこととしては、以下の状態で表示させているところに

    |チェック|内容|コメント|値(非表示)|

    DBからデータを取得し、値と同じ所にコメントとチェックを以下のように反映させたいのですが、反映されません。

    For intCnt = 1 To Grid.Rows.Count - 1
    '共有情報NOと同じ行に表示
    If Grid(intCnt, "値") = DBから取得した(値) Then
    Grid(intCnt, "チェック") = True
    Grid(intCnt, "コメントT") = DBから取得した(コメント)
    End If
    Next

    データテーブルを設定しているため無理なのでしょうか?
記事No.66112 のレス /過去ログ112より / 関連記事表示
削除チェック/

■66156  Re[3]: FlexgridにDatatableの任意の列を設定する
□投稿者/ shu -(2013/04/04(Thu) 07:40:28)
    No66155 (パル さん) に返信
    >
    > データテーブルを設定しているため無理なのでしょうか?

    そうなのかもしれません。実環境で試して駄目なのであればそう判断するしか
    ないです。DataSourceへバインドしている場合、バインドしているデータを
    修正すると反映されると思うのですがどうでしょう?
記事No.66112 のレス /過去ログ112より / 関連記事表示
削除チェック/

■66157  Re[4]: FlexgridにDatatableの任意の列を設定する
□投稿者/ Ruku -(2013/04/04(Thu) 10:47:08)
    ちょっと整理しつつ。
    
    バインド自体は C1FlexGrid の DataSource に DataTable を指定すれば良いかと。
    列の対応は、DataColumn の Name プロパティと (C1FlexGrid の) Column の Name プロパティを合わせれば良いと思います。
    
    その上で、バインドした DataTable を編集すればグリッドに反映されます。
    
    以下テスト。変数名は適当に脳内変換で。
    
    var table = new DataTable();
    table.Columns.Add("Value", typeof(int));
    table.Columns.Add("Time", typeof(DateTime));
    table.Columns.Add("Text", typeof(string));
    
    table.Rows.Add(10, new DateTime(2013, 1, 1), "hoge1");
    table.Rows.Add(20, new DateTime(2013, 1, 2), "hoge2");
    table.Rows.Add(30, new DateTime(2013, 1, 3), "hoge3");
    
    c1FlexGrid1.AutoGenerateColumns = false;
    c1FlexGrid1.Cols[2].Name = "Text";
    c1FlexGrid1.Cols[4].Name = "Time";
    c1FlexGrid1.DataSource = table;
    
    値の編集は
    table.Rows[1]["Text"] = "@@@";
    
    とか。
記事No.66112 のレス /過去ログ112より / 関連記事表示
削除チェック/

■66162  Re[5]: FlexgridにDatatableの任意の列を設定する
□投稿者/ パル -(2013/04/05(Fri) 01:06:51)
    みなさんありがとうございます。

    No66157 (Ruku さん)
    ありがとうございます。あとで研究してみます。
    今回は少し時間もないので、最初の表自体もDBから取得したものを表示させそれに対して、DB検索したデータを表示させることにしました。


記事No.66112 のレス / END /過去ログ112より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -