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

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

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

全過去ログを検索

<< 0 >>
■7547  タイムビューの操作について【VB2005】
□投稿者/ あおぞら -(2007/09/07(Fri) 18:03:23)

    分類:[VB.NET/VB2005] 

    VB2005でタイムビューを使用しています。
    タイムビューの操作を3つ教えていただきたく、こちらに書き込みす。

    予め、PieceTemplatesプロパティでピースのテンプレートを設定してあります。
    5種類有り、Keyは1〜5です。

    既に一部プログラムを記述(下記)してあり、ロードすると5行用意され、
    各行とも設定済みのテンプレートを使って9/1-9/5にピースが配置されます。

    −−−−−記述済みコード−−−−−
    Private Sub frmDefaultPieceTemplate_Load(ByVal eventSender As System.Object,
    _
               ByVal eventArgs As System.EventArgs) Handles
    MyBase.Load

    ' 表示固定
    KnTView1.ViewTopTime = Now

    ' 5行用意
    Dim itemWork As KnTViewLib.Item
    Dim pieceWork As KnTViewLib.Piece
    Dim i As Integer
      '
    For i = 1 To 5 Step 1
    itemWork = KnTView1.Items.Add

    ' セルのテキスト
    itemWork.Cells.Item(1).Value = CStr(i)
    ' ピースの追加
    pieceWork = itemWork.Pieces.AddFromTemplate(i)
    pieceWork.Start = "2007/9/1"
    pieceWork.Finish = "2007/9/5"
    '
    Next

    ' フォームのロード終了
    m_bFormLoaded = True

    End Sub
    −−−−−−−−−−−−−−−−−

    @ここからの記述を教えていただきたいのですが、
     フォーム上にはRadioButton5つとButtonが1つあり、
     RadioButtonのどれか1つ選択しButtonをクリックします。
     その後ドラッグしてピースを追加すると、
     テンプレートが反映されるようにしたいのです。

     RadioButton1=テンプレートKey1
     RadioButton2=テンプレートKey2
     RadioButton2=テンプレートKey3
     RadioButton2=テンプレートKey4     
     RadioButton5=テンプレートKey5 です。


    A次に、1ヶ月分の長さのピースを配置した時に、
     AfterPieceAddイベントで土日のピースを削除したいのです。
     9月であれば、9/3-7・9/10-14・9/17-21・9/24-28の4つに分割されることになります。

    B最後に、KeyDownイベントで、デリートキーを押した時に選択されているピースを削除したいのです。

    社内で詳しい者がおらず、ネット上にもあまり事例が紹介されていないので困っています。
    宜しくお願い致します。
親記事 /過去ログ19より / 関連記事表示
削除チェック/

■7548  Re[1]: GridView・スクロールバーの表示
□投稿者/ 初心者x -(2007/09/07(Fri) 18:05:18)
    解決しました。

    ScrollBars = autoで
    サイズを微調整したらまとまりました。
    失礼しました。
記事No.7508 のレス / END /過去ログ19より / 関連記事表示
削除チェック/

■15712  Re[1]: VC++開発
□投稿者/ επιστημη -(2008/03/19(Wed) 10:52:32)
>
    > ソースファイルの方にフォームから発生するイベントのメソッドを作成し、
    > ヘッダーファイルにフォーム等のファイルと、
    > グローバル変数を記述しようと思うのですがこの認識であってますでしょうか?

    あってます。
    が!!
    グローバル変数はトラブルの元なのでお薦めしかねます。
記事No.15709 のレス /過去ログ32より / 関連記事表示
削除チェック/

■89155  Re[1]: CheckBox によって GridRow を非表示にする
□投稿者/ Hongliang -(2018/11/02(Fri) 12:52:09)
    RowStyleでMultiDataTriggerを使ってVisibility.Collapsedにすることはできますが、DataGrid内のカーソルの動きが気持ち悪くなります。
    (非表示の行も選択対象になっているので、上下キーで移動できなかったりとか)

    CollectionViewSourceを使ってコードビハインドでフィルタするのがいいでしょう。
記事No.89152 のレス /過去ログ153より / 関連記事表示
削除チェック/

■89159  Re[2]: CheckBox によって GridRow を非表示にする
□投稿者/ りんく -(2018/11/02(Fri) 15:17:10)
    2018/11/02(Fri) 15:17:44 編集(投稿者)

    No89155 (Hongliang さん) に返信
    > CollectionViewSourceを使ってコードビハインドでフィルタするのがいいでしょう。

    ありがとうございます。
    CollectionViewSource については初めてだったので調べてみました。
    http://increment.hatenablog.com/entry/2015/10/19/205222
    を参考に、Behavior にして確認してみました。
    問題なくフィルタをかけることができました。
    ありがとうございました。

    確認した Behavior 大まかに記載しておきます。

    class StaffInfoBehavior : Behavior<UserControl>
    {
    private CollectionViewSource _collectionViewSource;
    private UserControl _control;

    protected override void OnAttached()
    {
    base.OnAttached();
    this.AssociatedObject.Loaded += OnLoaded;
    this.AssociatedObject.Unloaded += OnUnloaded;
    }

    protected override void OnDetaching()
    {
    base.OnDetaching();
    this.AssociatedObject.Loaded -= OnLoaded;
    this.AssociatedObject.Unloaded -= OnUnloaded;
    }

    private void OnLoaded(object sender, RoutedEventArgs e)
    {
    _control = sender as UserControl;
    if (_control != null)
    {
    var vm = _control.DataContext as ViewModels.MainViewModel;
    if (vm != null)
    {
    // CollectionViewSource を設定する
    _collectionViewSource = new CollectionViewSource();
    _collectionViewSource.Filter += Staff_Filter;
    _collectionViewSource.Source = vm.StaffInfos;

    var datagrid = _control.FindName("staffList") as DataGrid;
    datagrid.ItemsSource = _collectionViewSource.View;

    // CheckBox にイベントを追加する
    var 男性Check = _control.FindName("男性Check") as CheckBox;
    男性Check.Checked += OnCheckedChanged;
    男性Check.Unchecked += OnCheckedChanged;

    var 女性Check = _control.FindName("女性Check") as CheckBox;
    女性Check.Checked += OnCheckedChanged;
    女性Check.Unchecked += OnCheckedChanged;
    }
    }
    }

    private void OnUnloaded(object sender, RoutedEventArgs e)
    {
    // CheckBox のイベントを削除する
    var 男性Check = _control.FindName("男性Check") as CheckBox;
    男性Check.Checked -= OnCheckedChanged;
    男性Check.Unchecked -= OnCheckedChanged;

    var 女性Check = _control.FindName("女性Check") as CheckBox;
    女性Check.Checked -= OnCheckedChanged;
    女性Check.Unchecked -= OnCheckedChanged;
    }

    // 表示をフィルタする
    private void Staff_Filter(object sender, FilterEventArgs e)
    {
    if (e.Item != null)
    {
    var item = e.Item as StaffInfo;
    if(item != null)
    {
    if (item.Gender == "M")
    {
    var check = _control?.FindName("男性Check") as CheckBox;
    e.Accepted = check.IsChecked.Value;
    }
    else if (item.Gender == "F")
    {
    var check = _control?.FindName("女性Check") as CheckBox;
    e.Accepted = check.IsChecked.Value;
    }
    }
    }
    }

    // フィルタを更新する
    private void OnCheckedChanged(object sender, RoutedEventArgs e)
    {
    _collectionViewSource?.View.Refresh();
    }
    }
記事No.89152 のレス / END /過去ログ153より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -