0

私のSQLデータベースには、テキストボックスにバインドしたいnumeric(3,2)フィールドがあります。Linq to SQL がフィールドを取り込むと、そのフィールドが linq オブジェクトの 10 進数に変換されます。数値の精度とスケールにアクセスして、カスタム コントロールの場合に検証またはバインディングで使用できるようにすることはできますか? 最終的には、ユーザーが UI 側で小数点以下 2 桁以上を入力できないようにしたいと考えています。

4

1 に答える 1

0

このようなことができることがわかりました

        string val = String.Empty;

        Type t = obj.GetType();
        PropertyInfo prop = t.GetProperty(fieldName);
        object[] info = prop.GetCustomAttributes(typeof(ColumnAttribute), true);

        if (info.Length == 1)
        {
            ColumnAttribute ca = (ColumnAttribute)info[0];
            string attr = ca.DbType
                            //... parse attr to get the info you want
        }

        return val;

探しているものを取得するには文字列を解析する必要があるため、理想的ではありません。しかし、それは機能します。

于 2012-11-16T17:18:11.377 に答える