私はGridViewをあまり使いすぎていないし、それを掘り下げた後、必要以上に複雑だと思っていますが、基本的な能力が不足していると思います。特にこれを宣言的に行うときに、データセットにバインドされる時間の90%の目的を考えると、その実装は意味がありますが、コード内でIEnumerable<T>
にバインドするつもりです。私は必要なもの独自のGridView実装を作成する必要がありますか?
は簡単に次の操作を行うことができることである
- a)の列はタイプの特定のプロパティのみに制限することができ
IEnumerable<T>
にバインドさT
- b)は返すように照会することが セルがバインドされたプロパティによって各行がセルを参照できる行のコレクション
基本的には次のインターフェイスを実装するものはいい
public interface IEasyGridBinder {
void Bind<T>(IEnumerable<T> bindableObjects, params string[] propertiesToBind);
IList<IDictionary<string, string>> Values {get;}
}
これを取得するには、GridViewを継承し、このインターフェイスを実装する独自のカスタムEasyGridBinderを記述するか、まったく慣れていないこれらの作業を行う簡単な方法がありますか?
P.S.
フォローアップ質問のボーナスポイントは、私が
myGrid.Bind(myEntities, e=>{e.Id; e.Name; e.Customer.Name;});
のようなものを書くことができればしかし、私は表現
にまで読んだ後に自分自身をそれを把握することができたとしますは元のデータを取得する方法がないことグリッドビューに入力され、htmlに変換されていませんか?フィールドが空文字列を入力として受け取った場合、セルには「 」が含まれているように見えるので、空の文字列と空白の入力を区別する方法はありませんか?これが本当に当てはまる場合、おそらくほとんどのGridViewの機能を再実装することになります。
私は実際に誰もこの問題の良い解決策を持っていないことにショックを受けています。私は今夜私の前で仕事をしていると思います。これは数日間私のデモをブロックしています。私はおそらく後でGoogleのコードでそれを解放するでしょう –