問題タブ [datagridviewtextboxcell]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - C#でxmlファイルからdatagridviewtextboxに値を与える方法は?
次のようなxmlファイルを取得したとしましょう:
私がやりたいことは、このxmlから値を読み取り、それらをdatagridview
異なる列に入れたいということです。例: とを 1 つの列に表示Database1
しDatabase2
ます。Xpathを使用してxmlファイルから値を取得しています。これが私のコードです:
これにより、タグからすべての値が取得Database
され、それらの値をdatagridviewtextbox
に表示する方法がわかりませんdatagridview
。誰でもこれで私を助けることができますか?(PS私の悪い英語で申し訳ありません)
c# - C# DataGridView - CellEndEdit イベントからソートを呼び出す
現時点ではthis.EndInvoke(this.BeginInvoke(new MethodInvoker( this.resortRows )));
、空のセルをチェックして DGV を並べ替えるメソッドを呼び出すために使用しています。しかし、CellEndEdit からこれを呼び出しています。
Enter キーまたは Tab キーを押してイベントが呼び出された場合はすべて正常に動作しますが、EditMode のままで別のセルをクリックすると、並べ替えコマンドの行でエラーが発生します。
これは並べ替えコマンドです。
私はこのようなイベントを処理しようとしましたMouseClick
:
しかし、これは灰色の領域の DGV 内をクリックした場合にのみ機能します (セルやヘッダーではありません)。どうすればこれを修正できますか?
c# - 入力された DataGridView セル (DataGridViewTextBoxCell インスタンス) に省略記号が表示されるのはなぜですか?
DataGridView で選択したセルに「1」などの値を入力すると、単に「1」を表示するのではなく、「1...」と表示されます。
なぜそうなるのですか? また、省略記号が表示されないようにするにはどうすればよいですか?
アップデート
要求されたコードは次のとおりです (以下)。それがどのように見えるかのスクリームショットがあります(保留中、何らかの理由でポスタラスはそれをドットバンプまたはジェイペグとして受け入れていません)。
とにかく、DGV は次のようになります。
...いつあるべきか:
最後の行のコメントにあるように、電話の値は、テストされたデータでは単純に「1」です。その値にカーソルを合わせると、「1」のツールチップ/ヒントが表示されます (「1...」などではありません)。
c# - DataGridViewセルのフォントを特定の色にするにはどうすればよいですか?
このコードは、セルの背景を青にするために正常に機能します。
...しかし、ForeColorの効果は、私が期待/期待したものではありません。フォントの色は、黄色ではなく、まだ黒です。
フォントの色を黄色にするにはどうすればよいですか?
c# - データグリッドビューのあるセルから別のセルにプログラムで移動するにはどうすればよいですか?
編集可能なdatagridviewセルに入力できるのは1文字だけにする必要があります(他のすべての列、奇数番号の列は編集可能です)。これらのセルの1つにユーザーが2番目の文字を追加した場合、カーソルは次のセルに移動し、その2番目の値をそこに置く必要があります(そのキーをもう一度押すと、下に移動します)。グリッドの下部(12行目)にある場合は、行0に移動し、2列も右に移動する必要があります。
私はこれをやってみました:
...しかし、RowIndexとColumnIndexは読み取り専用であるため、割り当てることができないエラーメッセージが表示されます。
では、どうすればこれを達成できますか?
警告:現在、編集可能な最後の列の下部にある場合は、列1に移動するためのロジックも追加する必要があることを知っています。
アップデート
tergiverの答えから、これは私がこれまでに得たものですが、次のセルに進む方法がわかりません。
更新2
皆さんありがとう; これは、私がそれをほぼ機能させるために使用しているものです(ユーザーがキーを押したままにして、その値を後続のセルに継続的に入力できるようにしたい):
c# - イベント ハンドラーが 1 回しか入力されないのはなぜですか?
フォームの KeyPreview を true に設定しています。
DataGridView セルに既に値がある場合、次のセルに移動しようとしています。私はこのコードを持っています:
内側の「if」にブレークポイントを設定すると、最初にセルに値を入力したときにそこに到達します(おそらく長さ0または長さ1ですが、その時点でcurrentCellの値を見ると、「フォーマットされたテキスト」です) value == "" であり、セルの内容を識別するための他の可能性のあるプロパティは表示されません)。
「もし」が失敗し、「帰還基地」に落下。ライン。
セルに 2 番目の値を入力すると (たとえば、セルに表示される値が "2" から "22" に変わります)、ブレークポイントに到達しません。どうして???
注: これは、私がここで尋ねた質問のバリエーションです: How can I move programmatically move from one cell in a datagridview?
c# - 行がスキップされるのはなぜですか?
この方法で入力した DataGridView があります。偶数行には、ユーザーが編集できない「定数」値が含まれています。奇数行はユーザーが編集できますが、0 または 1 文字のみを含める必要があります。セルに値が含まれているときにユーザーがキーを押すと、最初に次のセルに移動してから、その値をその次のセルに入力できるようにする必要があります。このようにして、ユーザーはキーを押し続けることができ、そのたびに下のセルが入力されます。
私はこのコードを持っています (David Hall のコードに基づいています: How can I move programmatically move from one cell in a datagridview to another? ):
これは、既に値があるセルに最初に val を入力したときにうまく機能します。次のセルに移動し、その後のキーを押すとそこに値が入力されます。ただし、その後は、毎回もう 1 つのセルをスキップします。IOW、最初に列 5、行 2 のセルに「2」を入力すると、行 3 に移動します (良い!)。次に、行 4 をスキップして行 5 に移動します。次にキーを押すと、行 8 に移動し、行 6 と行 7 をスキップします。
なぜこのように動作し、解決策は何ですか?
アップデート
さて、以下の LarsTech の回答に基づいて、次のコードを取得しました。
ただし、問題は、以前の値が入力されたセルにいる場合、入力された新しい値で古い値が上書きされないことです。このセルに別の値を入力しないと同時に、セル内の既存の値を新しい値で置き換えることを許可する方法はありますか?
c# - 入力値のASCIIを比較して、文字か数値かを確認します
ユーザーがDataGridViewTextBoxCellに文字または数字を入力したかどうかを確認する必要があります。DataGridViewのKeyPressイベントに入力されたキーのASCII値に基づいてこの比較を実行する方法。なにか提案を ?
c# - 動的に作成された DGV セル内の不適切なエントリを除外する方法は?
DataGridViewTextBoxCells を作成し、DGV に追加します。
すべての列 0 セルで 0..9 以外のエントリと、0..9 と "." 以外のエントリを禁止したい。他のすべてで。
これを強制するには、どのイベントを使用する必要がありますか: CurrentCellChanged? セルフォーマット? 他のイベント?...またはまったく別の方法ですか?
c# - 例外をスローする前に、null値をstring.emptyに変換するにはどうすればよいですか?
DataGridViewセルに前の値を入力するための次のコードがあります。行0および列2以上の場合、左側のval、それ以外の場合は真上の値:
これは、表示およびコピーする値がある限り、うまく機能します。ただし、セルが空白の場合は、次のようになります。
System.NullReferenceExceptionは
、オブジェクトのインスタンスに設定されていないユーザーコードMessage=Object参照によって処理されませんでした。
これはnull合体演算子を使用する機会だと思いますが(私の推測が適切であると仮定して)、どうすればそれを実装できますか?