Hi manoj07,
Please refer below sample.
HTML
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" OnRowEditing="OnRowEditing"
OnRowCancelingEdit="OnRowCancelingEdit" OnRowUpdating="OnRowUpdating">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:CheckBox ID="ApproveBox" runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="ID" HeaderText="ID" ReadOnly="true" />
<asp:BoundField DataField="Name" HeaderText="List of Documents to be Uploaded" ReadOnly="true" />
<asp:TemplateField>
<ItemTemplate>
<asp:FileUpload ID="UploadImages1" runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:CommandField ShowEditButton="True" />
</Columns>
</asp:GridView>
Namespaces
C#
using System.Data;
using System.Data.SqlClient;
using System.IO;
VB.Net
Imports System.IO
Imports System.Data.SqlClient
Imports System.Data
Code
C#
protected void Page_Load(object sender, EventArgs e)
{
DataTable dt = new DataTable();
String strConnString = System.Configuration.ConfigurationManager.ConnectionStrings["constr"].ConnectionString;
string strQuery = "select * from tblFilesPath";
SqlCommand cmd = new SqlCommand(strQuery);
SqlConnection con = new SqlConnection(strConnString);
SqlDataAdapter sda = new SqlDataAdapter();
cmd.CommandType = CommandType.Text;
cmd.Connection = con;
sda.SelectCommand = cmd;
sda.Fill(dt);
GridView1.DataSource = dt;
GridView1.DataBind();
}
protected void OnRowEditing(object sender, GridViewEditEventArgs e)
{
GridView1.EditIndex = e.NewEditIndex;
GridView1.DataBind();
}
protected void OnRowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
{
GridView1.EditIndex = -1;
GridView1.DataBind();
}
protected void OnRowUpdating(object sender, GridViewUpdateEventArgs e)
{
HttpPostedFile file = ((FileUpload)GridView1.Rows[e.RowIndex].FindControl("UploadImages1")).PostedFile;
string fileName = Path.GetFileName(file.FileName);
string oldFileName = GridView1.Rows[e.RowIndex].Cells[2].Text;
string strConnString = System.Configuration.ConfigurationManager.ConnectionStrings["constr"].ConnectionString;
SqlConnection con = new SqlConnection(strConnString);
string strQuery = "update tblFilesPath set Name=@FileName, Path=@FilePath where ID=@ID";
SqlCommand cmd = new SqlCommand(strQuery);
cmd.Parameters.AddWithValue("@ID", GridView1.Rows[e.RowIndex].Cells[1].Text);
cmd.Parameters.AddWithValue("@FileName", Path.GetFileName(file.FileName));
cmd.Parameters.AddWithValue("@FilePath", "images/" + fileName);
cmd.CommandType = CommandType.Text;
cmd.Connection = con;
con.Open();
cmd.ExecuteNonQuery();
con.Close();
File.Delete(Server.MapPath("~/images/") + oldFileName);
file.SaveAs(Server.MapPath("~/images/") + fileName);
GridView1.EditIndex = -1;
Response.Redirect(Request.Url.AbsoluteUri);
}
VB.Net
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
Dim dt As DataTable = New DataTable()
Dim strConnString As String = System.Configuration.ConfigurationManager.ConnectionStrings("constr").ConnectionString
Dim strQuery As String = "select * from tblFilesPath"
Dim cmd As SqlCommand = New SqlCommand(strQuery)
Dim con As SqlConnection = New SqlConnection(strConnString)
Dim sda As SqlDataAdapter = New SqlDataAdapter()
cmd.CommandType = CommandType.Text
cmd.Connection = con
sda.SelectCommand = cmd
sda.Fill(dt)
GridView1.DataSource = dt
GridView1.DataBind()
End Sub
Protected Sub OnRowEditing(ByVal sender As Object, ByVal e As GridViewEditEventArgs)
GridView1.EditIndex = e.NewEditIndex
GridView1.DataBind()
End Sub
Protected Sub OnRowCancelingEdit(ByVal sender As Object, ByVal e As GridViewCancelEditEventArgs)
GridView1.EditIndex = -1
GridView1.DataBind()
End Sub
Protected Sub OnRowUpdating(ByVal sender As Object, ByVal e As GridViewUpdateEventArgs)
Dim file As HttpPostedFile = (CType(GridView1.Rows(e.RowIndex).FindControl("UploadImages1"), FileUpload)).PostedFile
Dim fileName As String = Path.GetFileName(file.FileName)
Dim oldFileName As String = GridView1.Rows(e.RowIndex).Cells(2).Text
Dim strConnString As String = System.Configuration.ConfigurationManager.ConnectionStrings("constr").ConnectionString
Dim con As SqlConnection = New SqlConnection(strConnString)
Dim strQuery As String = "update tblFilesPath set Name=@FileName, Path=@FilePath where ID=@ID"
Dim cmd As SqlCommand = New SqlCommand(strQuery)
cmd.Parameters.AddWithValue("@ID", GridView1.Rows(e.RowIndex).Cells(1).Text)
cmd.Parameters.AddWithValue("@FileName", Path.GetFileName(file.FileName))
cmd.Parameters.AddWithValue("@FilePath", "images/" & fileName)
cmd.CommandType = CommandType.Text
cmd.Connection = con
con.Open()
cmd.ExecuteNonQuery()
con.Close()
System.IO.File.Delete(Server.MapPath("~/images/") & oldFileName)
file.SaveAs(Server.MapPath("~/images/") & fileName)
GridView1.EditIndex = -1
Response.Redirect(Request.Url.AbsoluteUri)
End Sub
Screenshot
