私はC#(.Net 3.5)アプリケーションを持っていて、データバインドされたデータグリッドビューにNewRowシンボル(* - asterick/star)を強制/表示しようとしています。私のデータグリッドビューは一般的なリストにバインドされています。データバインドされたDataGridViewは新しい行シンボルを表示します
クラスmyRecordRow:
class myRecordRow {
private string _recordName;
private string _recordLocation;
public string RecordName {
get { return _recordName; }
set { _recordName = value; }
}
public string RecordLocation {
get { return _recordLocation; }
set { _recordLocation = value; }
}
public myRecordRow() {
_recordName = string.Empty;
_recordLocation = string.Emtpy;
}
public myRecordRow(string name, string location) {
_recordName = name;
_recordLocation = location;
}
}
クラスmyRecord:私のWinフォームform1_Load()イベントで今
class myRecord {
private List<myRecordRow> _recordRows;
public List<myRecordRow> RecordRows {
get { return _recordRows; }
set { _recordRows = value; }
}
}
、私は次のようしている:
private form1_Load() {
BindingSource bindingSource1 = new BindingSource();
myRecord rec = new myRecord();
myRecordRow newRow = new myRecordRow("name1", "location1");
myRecordRow newRow2 = new myRecordRow("name2", "location2");
rec.RecordRows.Add(newRow); rec.RecordRows.Add(newRow2);
dataGridView1.AutoGenerateColumns = false;
dataGridView1.AllowDrop = true;
dataGridView1.AllowUserToAddRows = true;
int colIndex = dataGridView1.Columns.Add("RecordName", "myRecord Name");
dataGridView1.Columns[colIndex].DataPropertyName = "RecordName";
colIndex = dataGridView1.Columns.Add("RecordLocation", "myRecord Location");
dataGridView1.Columns[colIndex].DataPropertyName = "RecordLocation";
bindingSource1 = new BindingSource();
bindingSource1.DataSource = rec.RecordRows;
dataGridView1.DataSource = bindingSource1;
}
注:基本データソース(汎用リスト)にデータを正しく追加するドラッグイベント&をドロップしました。
私のフォームが最初にロードされると、データグリッドビューに2つのエントリが設定されますが、NewRow(アスタリスク/スターシンボルのあるもの)は表示されません。 ??また、ユーザーがデータの追加を開始すると(&をドラッグすることによって)、NewRowも表示されるようにします。
NewRowが表示される主な理由は、いずれかのセル/列に必要なデータを入力することによって、データを追加する別の方法を可能にすることです。ドラッグ&ドロップでデータバインディングを行っていますが、NewRowを表示してユーザーがセルを編集できるようには見えません。そして、私は基本的なデータソースに新しい行を「挿入」するためにボタンを使用しないことを望みます。
ご協力いただきありがとうございます。私はこのフォーラムを見て、NewRow - 鉱山が "データを制限したデータグリッドビュー"とは逆の "隠す"答えを見つけました。ありがとうございました。
- ローレンツ
プロパティ 'dataGrdiView1.RowHeaderVisible'があります。これをtrueに設定しましたか? – Nick
私はそのプロパティをtrueに設定しました。変更はありません。 – Lorentz
[自動実装プロパティ](http://msdn.microsoft.com/en-us/library/bb384054.aspx)を使用していますが、バッキングフィールドもあります。バッキングフィールドを取り除き、プロパティのみを使用します。また、擬似コードよりも実際のコードを投稿した方が便利です(あなたのタイプが不足していて、プロパティ/フィールドの問題のため追加したデータを表示できない可能性があります)。 –