لنفترض أن هناك جدول منتج يحتوي على حقول (المعرف، الاسم، الكمية،...) ونريد تحديث قيمة الكمية على دفعات في وقت واحد
أولاً، في Gridview، يتم عرض عمود الكمية كـ TemplateField، ويتم تعيين خصائص العمود الأخرى للقراءة فقط، ويتم تعيين تنسيق العرض على TextBox
<asp:TemplateField HeaderText="الكمية">
<قالب العنصر>
<asp:TextBox ID = "editQuantity" runat = "الخادم" CssClass = "GridEditingRow"
Width="24px" MaxLength="2" Text='<%#Eval("Quantity")%>' />
</ItemTemplate>
</asp:TemplateField>
قم بإضافة عنصر تحكم زر أسفل GridView وحدد طريقة onclick كـ updateButton_Click
كود updateButton_Click النهائي هو:
التحديث الفارغ المحميButton_Click(object sender, EventArgs e)
{
introwsCount
=
gridViewRowgridRow
;
// اجتياز كل صف في GridView
لـ (int i = 0; i <rowsCount; i++)
{
// احصل على الصف الحالي
GridRow = Grid.Rows[i];
// استخدم DATAKEYS للحصول على رقم المعرف غير المعروض
المعرف = الشبكة.DataKeys[i].Value.ToString();
//
الكميةTextBox = (TextBox)gridRow.FindControl("editQuantity");
// تحويل إلى عدد صحيح، إذا كان الإدخال حرفًا غير قانوني Int32.TryParse يُرجع FALSE
إذا (Int32.TryParse(quantityTextBox.Text، كمية الخروج))
{
// اتصل بطريقة طبقة الأعمال لتحديث البيانات
Success = Success && BLL.UpdateItem(Id,quantity);
}
آخر
{
// فشل التحديث
النجاح = خطأ؛
}
// عرض المعلومات
StatusLabel.Text = النجاح؟
"<br />تم التحديث بنجاح!<br />" :
"<br />فشل التحديث!<br />";
}
// إعادة ربط GridVIEW
PopulateGridView();
}
http://www.cnblogs.com/timone/archive/2006/11/17/564171.html