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

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

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

全過去ログを検索

<< 0 >>
■14214  Re[2]: クリスタルレポート
□投稿者/ 吉本 -(2008/02/13(Wed) 13:40:40)
    No14189 (やじゅ さん) に返信

    > 用紙サイズを超える項目数の場合はどうするのですか?2段目とかにするのでしょうか
    > 項目により、幅等が変わるのでしょうか?

    項目の幅は変わるので用紙サイズを超えないように自動設定させたいです。


    >
    > クリスタルレポートって動的に幅を変更可能でしたでしょうか?

    今までは幅を先に指定してそこかた下記のように汎用的なフィールドにつっこんでいました。

    > 幅が固定で項目数も用紙に納まる項目数のみであれば、
    > クリスタルレポートで例1〜10列をはじめに設定しておいて、
    > データテーブル上で、1〜10列に順番にセットすればいいですよね。
    > SQLの列名やバインド名も item1,item2,item3・・・と汎用的にしておく必要があります。
記事No.14182 のレス /過去ログ30より / 関連記事表示
削除チェック/

■54516  Re[2]: FormViewでAJAX Controlでエラー
□投稿者/ taco -(2010/10/23(Sat) 01:20:17)
    No54480 (もりお さん) に返信

    ご返答有り難う御座います。

    > ReadOnly モードというのは FormView.DefaultMode プロパティのことでしょうか。
    > CalendarExtender コントロールは、ItemTemplate に TextBox を配置すると、正常
    > に動作するという状況ですかね。

    はい、ItemTemplateの事です。

    デフォルトではラベルが配置されて値がバインドされていますが、(ラベルはCalendarExtender
    を設定する事が出来ないため)、ラベルをTextBoxに置き換えてCalendarExtenderを設定したら
    正常に動作しました。

    (EditItemTemplate等で正常に動作しないので、確認のため上記を試しました。
    また、WebFormに直接、TextBoxを設置する等、FormView外でも正常に動作しています。)


    > EditItemTemplate に CalendarExtender コントロールを配置しているならば。
    > CalendarExtender コントロールは、FormView が Edit モードに移行する段階に
    > おいて、作成されるはずなのですが。うーむ。
    > エラーメッセージは、どのようなものが、出力されますか?

    同様にEditItemTemplateやInsertItemTemplateのTextBox(こちらはデフォルトで配置された物)に、
    CalendarExtenderを設定して、ItemTemplateの「編集」「新規作成」のリンクボタンをクリックして、
    モードを切り替えようとすると下記のエラーが起こります。


    ■VS2010で、「ソースファイルの検索 「ScriptObjectBuilder.cs」」のダイアログが開く。

    ★ダウンロードしたControlToolKitのソースから「ScriptObjectBuilder.cs」を指定すると下記のエラー

    ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
    System.Resources.MissingManifestResourceException はユーザー コードによってハンドルされませんでした。
    Message=指定されたカルチャまたはニュートラル カルチャに対して適切なリソースが見つかりませんでした。"AjaxControlToolkit.Properties.Resources.NET4.resources" が適切に埋め込まれたか、実行時にアセンブリ "AjaxControlToolkit" にリンクされたか、または必要なサテライト アセンブリが読み込まれて完全に署名されていることを確認してください。
    Source=mscorlib
    StackTrace:
    場所 System.Resources.ManifestBasedResourceGroveler.HandleResourceStreamMissing(String fileName)
    場所 System.Resources.ManifestBasedResourceGroveler.GrovelForResourceSet(CultureInfo culture, Dictionary`2 localResourceSets, Boolean tryParents, Boolean createIfNotExists, StackCrawlMark& stackMark)
    場所 System.Resources.ResourceManager.InternalGetResourceSet(CultureInfo requestedCulture, Boolean createIfNotExists, Boolean tryParents, StackCrawlMark& stackMark)
    場所 System.Resources.ResourceManager.InternalGetResourceSet(CultureInfo culture, Boolean createIfNotExists, Boolean tryParents)
    場所 System.Resources.ResourceManager.GetString(String name, CultureInfo culture)
    場所 AjaxControlToolkit.Properties.Resources_NET4.get_E_NoScriptManager() 場所 d:\hg\act\Server\AjaxControlToolkit\Properties\Resources.NET4.Designer.cs:行 68
    場所 AjaxControlToolkit.ScriptObjectBuilder.RegisterCssReferences(Control control) 場所 d:\hg\act\Server\AjaxControlToolkit\ExtenderBase\ScriptObjectBuilder.cs:行 332
    場所 AjaxControlToolkit.ExtenderControlBase.OnLoad(EventArgs e) 場所 d:\hg\act\Server\AjaxControlToolkit\ExtenderBase\ExtenderControlBase.cs:行 305
    場所 System.Web.UI.Control.LoadRecursive()
    場所 System.Web.UI.Control.LoadRecursive()
    場所 System.Web.UI.Control.AddedControl(Control control, Int32 index)
    場所 System.Web.UI.ControlCollection.Add(Control child)
    場所 System.Web.UI.WebControls.TableRow.CellControlCollection.Add(Control child)
    場所 System.Web.UI.ControlCollection.AddAt(Int32 index, Control child)
    場所 System.Web.UI.WebControls.TableRow.CellControlCollection.AddAt(Int32 index, Control child)
    場所 System.Web.UI.WebControls.TableCellCollection.Add(TableCell cell)
    場所 System.Web.UI.WebControls.FormView.InitializeRow(FormViewRow row)
    場所 System.Web.UI.WebControls.FormView.CreateDataRowFromTemplates(Boolean dataBinding, TableRowCollection rows)
    場所 System.Web.UI.WebControls.FormView.CreateDataRow(Boolean dataBinding, TableRowCollection rows, Object dataItem)
    場所 System.Web.UI.WebControls.FormView.CreateChildControls(IEnumerable dataSource, Boolean dataBinding)
    場所 System.Web.UI.WebControls.CompositeDataBoundControl.PerformDataBinding(IEnumerable data)
    場所 System.Web.UI.WebControls.FormView.PerformDataBinding(IEnumerable data)
    場所 System.Web.UI.WebControls.DataBoundControl.OnDataSourceViewSelectCallback(IEnumerable data)
    場所 System.Web.UI.DataSourceView.Select(DataSourceSelectArguments arguments, DataSourceViewSelectCallback callback)
    場所 System.Web.UI.WebControls.DataBoundControl.PerformSelect()
    場所 System.Web.UI.WebControls.BaseDataBoundControl.DataBind()
    場所 System.Web.UI.WebControls.FormView.DataBind()
    場所 System.Web.UI.WebControls.BaseDataBoundControl.EnsureDataBound()
    場所 System.Web.UI.WebControls.FormView.EnsureDataBound()
    場所 System.Web.UI.WebControls.BaseDataBoundControl.OnPreRender(EventArgs e)
    場所 System.Web.UI.Control.PreRenderRecursiveInternal()
    場所 System.Web.UI.Control.PreRenderRecursiveInternal()
    場所 System.Web.UI.Control.PreRenderRecursiveInternal()
    場所 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
    InnerException:
    ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑


    ★ソースコードを指定しないと、

    ----------------------
    Microsoft JScript 実行時エラー: Sys.ArgumentException: Value must not be null for Controls and Behaviors.
    Parameter name: element

    が表示され、下記で止まっています。

    ----------------------
    ScriptResource.axd・・・ (略)[動的]
    ----------------------
    (略)

    var e = Function._validateParams(arguments, [
    {name: "type", type: Type},
    {name: "properties", mayBeNull: true, optional: true},
    {name: "events", mayBeNull: true, optional: true},
    {name: "references", mayBeNull: true, optional: true},
    {name: "element", mayBeNull: true, domElement: true, optional: true}
    ]);
    if (e) throw e;
    if (type.inheritsFrom(Sys.UI.Behavior) || type.inheritsFrom(Sys.UI.Control)) {
    if (!element) throw Error.argument('element', Sys.Res.createNoDom);   ←ここで停止
    }
    else if (element) throw Error.argument('element', Sys.Res.createComponentOnDom);
    var component = (element ? new type(element): new type());
    callIf(component, "beginUpdate");
    if (properties) {
    Sys.Component._setProperties(component, properties);
    }

    (略)
    ----------------------


    検証用のプロジェクトを作成して、一切コードを書かないで実行した状態ですので…
    ContorlToolKitの不具合でしょうか…


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

■87764  Re[2]: 別フォームにデータを渡したい
□投稿者/ いまそかり -(2018/06/28(Thu) 16:58:08)
    No87757 (にゃるら さん) に返信
    
    にゃるらさん、回答ありがとうございます。
    
    
    >>@Form1_LoadをprivateのままでForm2で取得し、使用したい
    > 
    > ある型のメンバを呼び出すのに、Reflectionが使えます。
    > 
    >   http://smdn.jp/programming/netfx/reflection/
    > 
    > privateなインスタンスメンバであれば
    > 
    >   BindingFlags.NonPublic | BindingFlags.Instance
    > 
    > の条件をつけることでアクセスできます。
    
    
    なるほどそういう方法があったんですね!
    早速書いてみました。
    
    Dim fType As Type = Form1.GetType()
    
            Dim f2 As New Form2()
    
            fType.InvokeMember("Form1_Load",
                               BindingFlags.NonPublic Or
                               BindingFlags.Instance Or
                               BindingFlags.InvokeMethod,
                               Nothing,
                               From1,
                               New Object() {Form1, f2}
                               )
    
    
    参考(https://dobon.net/vb/dotnet/programing/invokenonpublicmember.html
    「隠蔽されている非パブリックメンバを呼び出す」)
    
    これで合ってますかね…?
    
    
    
    
    >>AForm2でForm1_Loadだけを取得した場合、(※1)は正常に動作するのか
    > 
    > 正常の意味がよくわからないですが、呼び出そうとする処理の中に
    > 状態や変数のライフタイムなどが関係ないようなものであれば
    > 大丈夫じゃないでしょうか。
    > 
    > ちなみに余計なお世話ですけども。
    > 「素人」というのが本当なのであれば、privateでなくpublicだけで実装されるのが無難と思いますよ。
    > 動くプログラムを作られてからカプセル化に挑戦する方が良いと思いますよ。
    
    
    あ、すみません「正常」という言葉は「エラーは出ないのか?」という意味で使ったので、その解釈であってます。
    「素人」という言葉も「初心者」という意味合いで使っていました。
     
    また、以前「基本はPublicではなくPrivateで書いたほうがいい」と授業で習った覚えがあったので、
    Privateで記述していました。
    でも、まずはにゃるらさんの言う通りPublicでやった方がやりやすいかもですね…。
    次回からはその方法も試してみます。
    
記事No.87756 のレス /過去ログ151より / 関連記事表示
削除チェック/

■87769  Re[3]: 別フォームにデータを渡したい
□投稿者/ にゃるら -(2018/06/29(Fri) 09:55:24)
    No87764 (いまそかり さん) に返信
    > Dim fType As Type = Form1.GetType()
    >
    > Dim f2 As New Form2()
    >
    > fType.InvokeMember("Form1_Load",
    > BindingFlags.NonPublic Or
    > BindingFlags.Instance Or
    > BindingFlags.InvokeMethod,
    > Nothing,
    > From1,
    > New Object() {Form1, f2}
    > )
    >
    >
    > 参考(https://dobon.net/vb/dotnet/programing/invokenonpublicmember.html
    > 「隠蔽されている非パブリックメンバを呼び出す」)
    >
    > これで合ってますかね…?

    4つめの引数のFrom1がForm1クラスのインスタンスであればこれでよいと思います。

    あと補足でNew Object()の部分は、Form1_Loadの引数になって渡す値ですね。

    Form1_Loadの1つ目の引数はsender、これはForm1_Loadメソッドを備えている
    Form1のインスタンスを渡してあげる方がよいですね。

    2つ目の引数はe、Loadイベントを呼んだ補足情報となるEventArgs型の値です。
    特に使うことがないときは、私はEventArgs.Empty(staticなメンバ)を渡してあげます。
    何に使うの?っていうと、たとえばですけども、
    ClosingイベントだとCancelEventArgsっていう型になっていて、フォームを閉じようとした
    ときに、「やっぱり閉じるのやめるわ」ってことがCancelEventArgsのCancelプロパティに
    falseを設定することで実現できたりします。
    マウスを動かしているときのMouseMoveイベントだとMouseEventArgsg型で、座標の値(x, y)が取れたりします。

    > また、以前「基本はPublicではなくPrivateで書いたほうがいい」と授業で習った覚えがあったので、
    > Privateで記述していました。

    そうですね、その習ったことが間違いとは思いません。
    教えられたことを素直に実践するのはとても良いことだと思います。
    とはいえ、まずはプログラムは動いてなんぼ。
    動く->適切な設定 の順で試される方が良いと思います。(動いた方が楽しいし!)

    > でも、まずはにゃるらさんの言う通りPublicでやった方がやりやすいかもですね…。
    > 次回からはその方法も試してみます。

    時間がもしあるなら、色々試してみてね。
    ちなみに僕が回答したリフレクションを使って解決するのは、今回の課題の要件でいけば「適切でない方法」「間違った方法」です。
    他の方からの意見は「適切な方法」「正しい方法」です。
    いじわるしたわけではないですが、やろとする方法で動くようにすることを提案したまでです。

    適切な方法、適切でない方法、正しい方法、間違った方法、どれも「自分で試す」ことが大事だと思います。

    出来ればこれからもプログラミングを楽しいと思ってもらえたら幸いです。
    でわでわ。
記事No.87756 のレス /過去ログ151より / 関連記事表示
削除チェック/

■87771  Re[4]: 別フォームにデータを渡したい
□投稿者/ PANG2 -(2018/06/29(Fri) 10:31:38)
    やりたいことが、

    Fomn1のボタンイベントで、Form2 に DataSet を渡した後に、Form2.Form2_Loadを走らせたい。

    であれば、既に解決しているはずです。


    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

    Dim frm As Form2
    frm = New Form2(df)
    frm.Show() 'Form2.Form2_Loadが走る
    End Sub

    No87764 (いまそかり さん) に返信

    > また、以前「基本はPublicではなくPrivateで書いたほうがいい」と授業で習った覚えがあったので、
    > Privateで記述していました。
    > でも、まずはにゃるらさんの言う通りPublicでやった方がやりやすいかもですね…。
    > 次回からはその方法も試してみます。

    私見では、プログラムは作法を守ることが非常に大切です。(無理やり動かせばよいというものではない)
    Form_LoadをPublicにするのは駄目だし、まして外からリフレクションで呼ぶのはトンデモナイ。
記事No.87756 のレス /過去ログ151より / 関連記事表示
削除チェック/

■101549  Re[4]: WebView2に任意のProxyを設定する方法
□投稿者/ Nedame -(2023/03/14(Tue) 15:46:52)
    No101546 (Hongliang さん) に返信
    > なぜかWinFormではなくてWPFの話という前提で回答しておりました…。
    なるほど、スッキリしました。
    「先に処理が必要」という部分を知れて答えに行き着く良い切っ掛けになりました。
    WinFormと表現しなければいけなかったですね、こちらこそすみません。

    > デザイナで配置しているなら、
    >>webView21.Dock = DockStyle.Fill;
    >>this.Controls.Add(webView21);
    > ここら辺は必要ではありません。

    まさに、今、これが原因でおかしなことになってました。
    ありがとうございました!
記事No.101539 のレス / END /過去ログ177より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -