I have One problem how can i insert more then one companies record on one id of emp in grid view ??
In my Project have two table first Employee and second one Company

Default.aspx web form code
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="gridviewempcompny.Default" %>
| EmpID | ||||
<%--SHOW THE SELECTED DATE.--%> | <%-- | |||
OnRowUpdating="gvCompany_RowUpdating" OnRowDeleting="gvCompany_RowDeleting"
BackColor="White" BorderColor="#CCCCCC" BorderStyle="None" BorderWidth="1px" CellPadding="3" OnSelectedIndexChanged="gvCompany_SelectedIndexChanged">
<%-- Theme Properties --%>
Default.Cs
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace gridviewempcompny
{
public partial class Default : System.Web.UI.Page
{
int inEmpID = 0;
// bool isDefaultImage = true;
string strConnectionString = @"Data Source=.; Initial Catalog=MasterDataDS; Integrated Security=True;";
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
// PopulateGridview();
LoadProducts();
// AddDefaultFirstRecord();
}
}
private void btnReset_Click(object sender, EventArgs e)
{
Clear();
}
void Clear()
{
txtEmpCode.Text = txtEmpName.Text = "";
rbtRegular.Checked = true;
}
bool ValidateMasterDetailForm()
{
bool _isValid = true;
if (txtEmpName.Text.Trim() == "")
{
// Response.Show("Employee Name is required");
_isValid = false;
}
//Add more validations if needed.
return _isValid;
}
SqlCommand sqlcmd;
void PopulateGridview()
{
DataTable dtbl = new DataTable();
using (SqlConnection sqlCon = new SqlConnection(strConnectionString))
{
sqlCon.Open();
sqlcmd = new SqlCommand("Select * from EmpCompany", sqlCon);
SqlDataAdapter sqlDa = new SqlDataAdapter(sqlcmd);
sqlDa.Fill(dtbl);
}
if (dtbl.Rows.Count > 0)
{
gvCompany.DataSource = dtbl;
gvCompany.DataBind();
gvCompany.Columns[2].Visible = false;
}
else
{
dtbl.Rows.Add(dtbl.NewRow());
gvCompany.DataSource = dtbl;
gvCompany.DataBind();
gvCompany.Rows[0].Cells.Clear();
gvCompany.Rows[0].Cells.Add(new TableCell());
gvCompany.Rows[0].Cells[0].ColumnSpan = dtbl.Columns.Count;
gvCompany.Rows[0].Cells[0].Text = "No Data Found ..!";
gvCompany.Rows[0].Cells[0].HorizontalAlign = HorizontalAlign.Center;
// gvCompany.Columns[0].Visible = false;
// gvCompany.Columns[2]. = DataGridViewAutoSizeColumnMode.Fill;
// gvCompany.Columns[3].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
}
}
protected void gvCompany_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (ValidateMasterDetailForm())
{
int _EmpID = 0;
using (SqlConnection sqlCon = new SqlConnection(strConnectionString))
{
sqlCon.Open();
//Master
SqlCommand sqlCmd = new SqlCommand("EmployeeAdd", sqlCon);
sqlCmd.CommandType = CommandType.StoredProcedure;
sqlCmd.Parameters.AddWithValue("@EmpID", inEmpID);
sqlCmd.Parameters.AddWithValue("@EmpCode", txtEmpCode.Text.Trim());
sqlCmd.Parameters.AddWithValue("@EmpName", txtEmpName.Text.Trim());
sqlCmd.Parameters.AddWithValue("@PositionID", cmbPosition.Text.Trim());
sqlCmd.Parameters.AddWithValue("@DOB", dtpDOB.Text);
sqlCmd.Parameters.AddWithValue("@Gender", cmbGender.Text.Trim());
sqlCmd.Parameters.AddWithValue("@State", rbtRegular.Checked ? "Regular" : "Contractual");
//sqlCmd.Parameters.AddWithValue("@ImagePath", DBNull.Value);
_EmpID = Convert.ToInt32(sqlCmd.ExecuteScalar());
}
using (SqlConnection sqlCon = new SqlConnection(strConnectionString))
{
foreach (GridViewRow dgvRow in gvCompany.Rows)
{
sqlCon.Open();
if (e.CommandName.Equals("AddNew")) break;
else
{
string query = "INSERT INTO EmpCompany(EmpId,CompanyName,PositionID,ExpYear) VALUES(@EmpId,@CompanyName,@PositionID,@ExpYear)";
SqlCommand sqlCmd = new SqlCommand(query, sqlCon); ;
//sqlCmd.Parameters.AddWithValue("@EmpCmpID", (gvCompany.FooterRow.FindControl("txtCompanyIDFooter") as TextBox).Text.Trim());
sqlCmd.Parameters.AddWithValue("@EmpId", _EmpID);
sqlCmd.Parameters.AddWithValue("@CompanyName", (gvCompany.FooterRow.FindControl("txtCompanyNameFooter") as TextBox).Text.Trim());
sqlCmd.Parameters.AddWithValue("@PositionID", (gvCompany.FooterRow.FindControl("txtPositionFooter") as TextBox).Text.Trim());
sqlCmd.Parameters.AddWithValue("@ExpYear", (gvCompany.FooterRow.FindControl("txtExpYearFooter") as TextBox).Text.Trim());
sqlCmd.ExecuteNonQuery();
LoadProducts();
lblSuccessMessage.Text = "New Record Added";
lblErrorMessage.Text = "";
}
}
}
}
}
protected void gvCompany_RowEditing(object sender, GridViewEditEventArgs e)
{
gvCompany.EditIndex = e.NewEditIndex;
// PopulateGridview();
}
protected void gvCompany_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
{
gvCompany.EditIndex = -1;
// PopulateGridview();
}
protected void gvCompany_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
try
{
using (SqlConnection sqlCon = new SqlConnection(strConnectionString))
{
sqlCon.Open();
string query = "UPDATE EmpCompany SET CompanyName=@CompanyName,PositionID=@PositionID,ExpYear=@ExpYear WHERE EmpCmpID=@EmpCmpID";
// string query = "INSERT INTO EmpCompany(EmpId,CompanyName,PositionID,ExpYear) VALUES(@EmpId,@CompanyName,@PositionID,@ExpYear)";
SqlCommand sqlCmd = new SqlCommand(query, sqlCon);
sqlCmd.Parameters.AddWithValue("@EmpId", TextBox5.Text);
// sqlCmd.Parameters.AddWithValue("@EmpCmpID", (gvCompany.Rows[e.RowIndex].FindControl("txtCompanyID") as TextBox).Text.Trim());
sqlCmd.Parameters.AddWithValue("@CompanyName", (gvCompany.Rows[e.RowIndex].FindControl("txtCompanyName") as TextBox).Text.Trim());
sqlCmd.Parameters.AddWithValue("@PositionID", (gvCompany.Rows[e.RowIndex].FindControl("txtPosition") as TextBox).Text.Trim());
sqlCmd.Parameters.AddWithValue("@ExpYear", (gvCompany.Rows[e.RowIndex].FindControl("txtExpYear") as TextBox).Text.Trim());
sqlCmd.Parameters.AddWithValue("@EmpCmpID", Convert.ToInt32(gvCompany.DataKeys[e.RowIndex].Value.ToString()));
sqlCmd.ExecuteNonQuery();
gvCompany.EditIndex = -1;
PopulateGridview();
lblSuccessMessage.Text = "Selected Record Updated";
lblErrorMessage.Text = "";
}
}
catch (Exception ex)
{
lblSuccessMessage.Text = "";
lblErrorMessage.Text = ex.Message;
}
}
protected void btnSave_Click(object sender, EventArgs e)
{
}
protected void gvCompany_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
try
{
using (SqlConnection sqlCon = new SqlConnection(strConnectionString))
{
sqlCon.Open();
string query = "DELETE FROM EmpCompany WHERE EmpCmpID = @EmpCmpID";
SqlCommand sqlCmd = new SqlCommand(query, sqlCon);
sqlCmd.Parameters.AddWithValue("@EmpCmpID", Convert.ToInt32(gvCompany.DataKeys[e.RowIndex].Value.ToString()));
sqlCmd.ExecuteNonQuery();
// PopulateGridview();
lblSuccessMessage.Text = "Selected Record Deleted";
lblErrorMessage.Text = "";
}
}
catch (Exception ex)
{
lblSuccessMessage.Text = "";
lblErrorMessage.Text = ex.Message;
}
}
protected void gvCompany_SelectedIndexChanged(object sender, EventArgs e)
{
try
{
using (SqlConnection sqlCon = new SqlConnection(strConnectionString))
{
sqlCon.Open();
// TextBox5.Text = gvCompany.SelectedRow.Cells[1].Text;
(gvCompany.FooterRow.FindControl("txtCompanyNameFooter") as TextBox).Text = gvCompany.SelectedRow.Cells[3].Text;
(gvCompany.FooterRow.FindControl("txtPositionFooter") as TextBox).Text = gvCompany.SelectedRow.Cells[4].Text;
(gvCompany.FooterRow.FindControl("txtExpYearFooter") as TextBox).Text = gvCompany.SelectedRow.Cells[5].Text; ;
// sqlCmd.ExecuteNonQuery();
gvCompany.EditIndex = -1;
// PopulateGridview();
}
}
catch (Exception ex)
{
lblSuccessMessage.Text = "";
lblErrorMessage.Text = ex.Message;
}
}
public string constr;
public SqlConnection con;
public void connection()
{
//Stoting connection string
string strConnectionString = @"Data Source=.; Initial Catalog=MasterDataDS; Integrated Security=True;";
con = new SqlConnection(strConnectionString);
con.Open();
}
}
}
1 Reply
Know the answer? Post it — somebody with the same question will find it here.
Sign in to answer this question
It is the same account you read, post and publish with — and you will come straight back to this page.
Umm HaniPosted Jun 24, 2019, 5:44 AM