基本的な .net DataColumns と関連する Expression プロパティを使用しています。
データベース テーブルから選択する列をユーザーが定義できるアプリケーションがあります。また、データ列で式を実行する他の列を追加して、情報のカスタム グリッドを作成することもできます。
私が抱えている問題は、「(C2/C3)*100」の行に沿って計算列がある場合です。ここで、C2 と C3 はデータ列であり、C3 の値はゼロです。古い「ゼロで割る」問題。
簡単な答えは、式を「IIF(C3 = 0, 0, (C2/C3)*100)」に変換することですが、ユーザーがそれを行うことを知っているとは思わず、コンパイル時に私は知りませんどの列が定義されているかを知っています。そのため、IIF 句を作成するために、除算で使用されている列をプログラムで特定する必要があります。それはかなりトリッキーになる可能性があります。
「ゼロ除算」エラーが発生した場合に、エラーをスローせずに結果を 0 に置き換える別の方法はありますか?