حذف ركوردهاي هاي تيك خورده در Gridview :

براي اينكار ابتدا يك صفحه ي webform.aspx ايجاد كنيد.
در صفحه يك گريدويو و يك sqlDataSource و يك دكمه قرار دهيد.

sqlDataSource رو به بانك موردنظرتون ربط داده و خاصيت DataSourceID مربوط بهگريدويو رو برابرSqlDataSource1 قرار بديد.

به گريدويو خود يك ستون اضافه كنيد به طريقه زير:
به قسمت سورس رفته، و در بين تگ هاي gridview خود تگ <Columns> </Columns>قرار دهيد سپس يك TemplateField اضافه كنيد. در نهايت كدي مشابه زير ايجاد كنيد:

کد:
 
<asp:GridView ID="GridView1" runat="server"  DataKeyNames="NewsId" DataSourceID="Sqldatasource1">
                <Columns>
                    <asp:TemplateField>
                        <HeaderTemplate>
                            <asp:CheckBox ID="CheckAll" onclick="return check_uncheck (this );" runat="server" />
                        </HeaderTemplate>
                        <ItemTemplate>
                            <asp:Label ID="nID" Visible="false" Text='<%# DataBinder.Eval (Container.DataItem, "NewsId") %>'
                                runat="server" />
                            <asp:CheckBox ID="deleteRec" onclick="return check_uncheck (this );" runat="server" />
                        </ItemTemplate>
                    </asp:TemplateField>
                </Columns>
</asp:GridView>

در اينجاDataKeyNames برابر فيلد كليد در جدول موردنظر قرار مي دهيم.
در <HeaderTemplate> يك چكباكس گذاشته شده جهت انتخاب تمامي سطرها مي باشد .
در رويداد onclick يك تابع جاواسكريپت فراخواني ميكنيم كه توسط اين تابع تمامي سطرها انتخاب/لغوانتخاب مي شوند.

در <ItemTemplate>چك باكسي كه قرار داديم براي هر سطر مي باشد.

كدهاي جاواسكريپت زير را در تگ bodyقرار دهيد:

کد:
 
<script type="text/javascript">
function check_uncheck (Val) 
{ 
var ValChecked = Val.checked;
var ValId =Val.id;
var frm = document.forms[0];
// Loop through all elements
for (i=0; i<frm.length; i++)  
{
// Look for Header Template's Checkbox
if (this!=null)
{   if (ValId.indexOf ('CheckAll') != -1) 
    {
        // Check if main checkbox is checked, then select or deselect datagrid checkboxes 
        if(ValChecked) frm.elements[i].checked = true;
        else frm.elements[i].checked = false;
    } 
     else if (ValId.indexOf ('deleteRec') != -1) 
    {
        // Check if any of the checkboxes are not checked, and then uncheck top select all checkbox
        if(frm.elements[i].checked == false)   frm.elements[1].checked = false;  }       
}// if
}// for
}// function
function confirmMsg (frm) 
{ 
    // loop through all elements
    for (i=0; i<frm.length; i++) 
    {
        // Look for our checkboxes only
        if (frm.elements[i].name.indexOf("deleteRec") !=-1) 
        {
            // If any are checked then confirm alert, otherwise nothing happens
            if(frm.elements[i].checked) return confirm ('Are you sure you want to delete your selection(s)?')
        }
    }
}
کد:
</script>
در رويداد onclick دكمه دستورات زير روبنويسيد:

کد:
 
Dim gvIDs As String = ""
        Dim chkBox As Boolean = False
        For Each gv As GridViewRow In GridView1.Rows
            Dim deleteChkBxItem As CheckBox = CType(gv.FindControl("deleteRec"), CheckBox)
            If deleteChkBxItem.Checked Then
                chkBox = True
                gvIDs += CType(gv.FindControl("nID"), Label).Text.ToString + ","
            End If
        Next
        Dim cn As SqlConnection = New SqlConnection(Sqldatasource1.ConnectionString)
        If chkBox Then
            Try
                Dim deleteSQL As String = "DELETE from news WHERE newsid IN (" + gvIDs.Substring(0, gvIDs.LastIndexOf(",")) + ")"
                Dim cmd As SqlCommand = New SqlCommand(deleteSQL, cn)
                cn.Open()
                cmd.ExecuteNonQuery()
                GridView1.DataBind()
            Catch err As SqlException
                Response.Write(err.Message.ToString)
            Finally
                cn.Close()
            End Try
کد:
        End If

در ضمن Imports System.Data.SqlClient رو در ابتداي صفحه ي code-behind قرار بديد.

موفق باشيد.