protected void btnUpdate_OnClick(object sender, EventArgs e)
{
try
{
if (Session["AsposeDynamicFormsdataTable"] != null)
{
DataTable dt = (DataTable)Session["AsposeDynamicFormsdataTable"];
if (dt != null)
{
if (dt.Rows.Count > 0)
{
string setupSeletectedItemId = (string)Session["SetupSeletectedItemID"];
DataRow[] drs = dt.Select("[Field ID] = '" + setupSeletectedItemId + "'");
if (true)
{
if (drs.Length > 0)
{
drs = dt.Select("[Field ID] = '" + txtFieldId.Text.Trim() + "'"); // checking field type constraint
if (drs != null)
{
if (drs.Length > 0)
{
if (setupSeletectedItemId == txtFieldId.Text.Trim())
{
drs[0]["Field Type"] = ddlFieldType.SelectedValue.Trim();
drs[0]["Field ID"] = txtFieldId.Text.Trim();
drs[0]["Field Label Text"] = txtFieldLableText.Text.Trim();
drs[0]["Field Values"] = txtFieldValues.Text.Trim();
if (chkIsDisplay.Checked)
{
drs[0]["Is Display"] = "TRUE";
}
else
{
drs[0]["Is Display"] = "FALSE";
}
drs[0]["Sort ID"] = txtSortId.Text.Trim();
lbl_Msg.Visible = true;
lbl_Msg.CssClass = "alertupdate";
lbl_Msg.Text = "Field updated successfully";
dt.AcceptChanges();
}
else
{ // on updating field user Enter other Field ID
lbl_Msg.Visible = true;
lbl_Msg.CssClass = "alertdanger";
lbl_Msg.Text = "Field ID already exists ";
btnUpdate.Visible = true;
return;
}
}
else
{
lbl_Msg.Visible = true;
lbl_Msg.CssClass = "alertdanger";
lbl_Msg.Text = "Field ID not exists ";
btnUpdate.Visible = true;
return;
}
}
}
else
{
// new field record case
DataRow dr = dt.NewRow();
dr["Field Type"] = ddlFieldType.SelectedValue.Trim();
dr["Field ID"] = txtFieldId.Text.Trim();
dr["Field Label Text"] = txtFieldLableText.Text.Trim();
dr["Field Values"] = txtFieldValues.Text.Trim();
if (chkIsDisplay.Checked)
{
dr["Is Display"] = "TRUE";
}
else
{
dr["Is Display"] = "FALSE";
}
dr["Sort ID"] = txtSortId.Text.Trim();
dr["Modified On"] = DateTime.Now.ToString("MM-dd-YYYY");
dt.Rows.Add(dr);
lbl_Msg.Visible = true;
lbl_Msg.CssClass = "Success";
lbl_Msg.Text = "Field added successfully";
}
Session["AsposeDynamicFormsdataTable"] = dt;
//Creating a file stream containing the Excel file to be opened
FileStream fstream = new FileStream(Server.MapPath("~/Addons/Aspose.SiteFinity.FormBuilder.ToExcel/uploads/AsposeDynamicFormsDataFile.xlsx"), FileMode.Open, FileAccess.Read);
//Instantiating a Workbook object
//Opening the Excel file through the file stream
Workbook workbook = new Workbook(fstream);
//Accessing a worksheet using its sheet name
Worksheet worksheet = workbook.Worksheets["Settings"];
//Closing the file stream to free all resources
fstream.Close();
workbook.Worksheets.RemoveAt("Settings");
worksheet = workbook.Worksheets.Add("Settings");
worksheet.Cells.ImportDataTable(dt, true, "A1");
Aspose.Cells.Style objStyle = workbook.CreateStyle();
objStyle.Font.IsBold = true;
//Bold style flag options
StyleFlag objStyleFlag = new StyleFlag();
objStyleFlag.FontBold = true;
//Apply this style to row 1
Row row1 = workbook.Worksheets[0].Cells.Rows[0];
row1.ApplyStyle(objStyle, objStyleFlag);
worksheet.Cells.ApplyRowStyle(0, objStyle, objStyleFlag);
//Auto-fit all the columns
workbook.Worksheets["Data"].AutoFitColumns();
workbook.Save(Server.MapPath("~/Addons/Aspose.SiteFinity.FormBuilder.ToExcel/uploads/AsposeDynamicFormsDataFile.xlsx"), SaveFormat.Xlsx);
PopulateGrid();
ClearFields(); // clear field function which clear all fields while update/adding record
}
}
}
}
}
catch (Exception exc)
{
ShowException(exc);
}
}