1
A
答えて
2
例がここにあります:http://www.dotnetfunda.com/articles/article180.aspx
むしろ下部に比べ上部に新しいレコードを処理するフォームを置くのに十分な簡単なはずです。
0
過去に行ったことは、IDが-1(または文字列IDが「新規」または「空」の場合)のデータテーブルの上部に新しい空のデータ行が追加されたことです。その行に編集インデックスを設定し、データをバインドします。
(間に合わせ例)
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" DataKeyNames="ID"
onrowupdating="GridView1_RowUpdating">
<Columns>
<asp:TemplateField HeaderText="Column 1">
<ItemTemplate>
<asp:Literal ID="litColumn1" Text='<%#Bind("column1") %>' runat="server"></asp:Literal>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="txtColumn1" Text='<%#Bind("column1") %>' runat="server"></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Column 2">
<ItemTemplate>
<asp:Literal ID="litColumn2" Text='<%#Bind("column2") %>' runat="server"></asp:Literal>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="txtColumn2" Text='<%#Bind("column2") %>' runat="server"></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Column 3">
<ItemTemplate>
<asp:Literal ID="litColumn3" Text='<%#Bind("column3") %>' runat="server"></asp:Literal>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="txtColumn3" Text='<%#Bind("column3") %>' runat="server"></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<EditItemTemplate>
<asp:LinkButton ID="saveLink" runat="server" CommandName="update">Save</asp:LinkButton>
</EditItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
そして背後にあるコードのための:
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
Fill_Grid();
}
private void Fill_Grid()
{
//Create new test data source and columns
DataTable dt = new DataTable();
dt.Columns.Add("ID");
dt.Columns.Add("column1");
dt.Columns.Add("column2");
dt.Columns.Add("column3");
//Sample data
DataRow dr = dt.NewRow();
dr["ID"] = 1;
dr["column1"] = "test1.1";
dr["column2"] = "test1.2";
dr["column3"] = "test1.3";
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["ID"] = 2;
dr["column1"] = "test2.1";
dr["column2"] = "test2.2";
dr["column3"] = "test2.3";
dt.Rows.Add(dr);
//Empty row at the top
dr = dt.NewRow();
dr["ID"] = -1; //-1 is for new rows only
dt.Rows.InsertAt(dr, 0); //inserting at 0th position of table
//Bind data
GridView1.DataSource = dt;
GridView1.EditIndex = 0;
GridView1.DataBind();
}
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
//Check ID
if (e.Keys[0].ToString() == "-1")
{
//is a new row, insert data
}
else
{
//is an update, save data
}
//Rebind data
Fill_Grid();
}
関連する問題
- 1. PostBackTrigger for GridView内のFileUpload機能
- 2. GridViewのImageAdapterが機能しない
- 3. GridViewの削除が機能しない
- 4. ASP.NET Gridviewソートが機能しない
- 5. Android - GridView - GestureDetectorが機能しません
- 6. Gridviewヘッダーフリーズがマスターページで機能しない
- 7. gridviewページングが機能しない
- 8. GridViewフッターが機能しない
- 9. GridView :: FILTER_SELECT2は機能しません
- 10. updatepanel内のgridview deleteコマンドと別の__doPostback()機能
- 11. GridViewのクラス属性がボタンのクリック後に機能しない
- 12. OnClickListenerがGridViewの最初の項目で機能しない
- 13. SavedInstance gridViewのスクロール位置が機能していません
- 14. GridViewのドリルダウン機能を強化する方法は?
- 15. ViewHolderのonClickイベントがGridView内で機能する
- 16. アンドロイドのGridViewでスクロールが機能しない
- 17. GridView/ListViewビューへのスクロールが機能しない
- 18. gridview内部の更新パネルが機能しない
- 19. 追加機能を使用したGridViewのソート
- 20. RadTreeListの同等機能は、Gridview/Jqueryで達成できます
- 21. yii2 gridview hide空の列が機能しない
- 22. GridViewの交互行スタイルがポストバック後に機能しない
- 23. ウィザードコントロール内のGridviewカスタムページングがasp.netで正しく機能しない
- 24. Linq2sql/GridView:ページネーションが機能していませんか?
- 25. Onclick Listener Gridviewがフラグメント内で機能しない
- 26. GridViewを編集した後にフィルタが機能しない
- 27. Gridviewフィルタリング機能が組み込まれていますか?
- 28. Android SetImageResourceがボタンクリック時にGridviewで機能しない
- 29. UWP GridView垂直スクロールが機能していません
- 30. Android GridViewの最初のアイテムの背景が機能していない
実はフッタ中に示す行の彼の方法を好みます。ありがとう! – Craig