Checking all fields are validated successfully through buttonclick in C# - c#

In my Windows form I have a Button called Save. When I click on that button, data should be saved to database if all fields in the form are validated successfully. Otherwise, an error message should be displayed.
I have tried:
private void btnNotesSave_Click(object sender, EventArgs e)
{
if (this.ValidateChildren(ValidationConstraints.None))
{
DataRow dr = ds.Tables[0].NewRow();
dr[0] = txtName.Text;
dr[1] = txtPersonResponsible.Text;
dr[2] = txtPersonResponsibleIDDetails.Text;
dr[3] = txtAlternativePersonResponsible.Text;
dr[4] = txtAlternativePersonResponsibleIDDetails.Text;
dr[5] = txtCompanyRegNo.Text;
dr[6] = txtVatNo.Text;
dr[7] = txtPremiseNo.Text;
dr[8] = txtStreetName1.Text;
dr[9] = txtStreetName2.Text;
dr[10] = txtSubUrb.Text;
dr[11] = txtCity.Text;
dr[12] = txtProvince.Text;
dr[13] = txtCountry.Text;
dr[14] = txtPinCode.Text;
dr[15] = txtPostalPremiseNo.Text;
dr[16] = txtPostalStreetName1.Text;
dr[17] = txtPostalStreetName2.Text;
dr[18] = txtPostalSubUrb.Text;
dr[19] = txtPostalCity.Text;
dr[20] = txtPostalProvince.Text;
dr[21] = txtPostalCountry.Text;
dr[22] = txtPostalPinCode.Text;
dr[23] = txtTelephone1.Text;
dr[24] = txtTelephone2.Text;
dr[25] = txtMobile1.Text;
dr[26] = txtMobile2.Text;
dr[27] = txtFax1.Text;
dr[28] = txtFax2.Text;
dr[29] = txtEmail1.Text;
dr[30] = txtEmail2.Text;
dr[31] = txtWebsite.Text;
dr[32] = txtWorkingHours.Text;
dr[33] = txtAccountHolderName.Text;
dr[34] = txtBankName.Text;
dr[35] = txtAccountType.Text;
dr[36] = txtAccountNumber.Text;
dr[37] = txtBranchCode.Text;
dr[38] = rtxtBanking.Text;
dr[39] = txtCreditLimit.Text;
dr[40] = txtStartingDate.Text;
dr[41] = txtEndingDate.Text;
dr[42] = lstFinance.Text;
dr[43] = rtxtFinance.Text;
dr[44] = rtxtNotes.Text;
ds.Tables[0].Rows.Add(dr);
cb = new SqlCommandBuilder(da);
da.Update(ds, "CompanyDetails");
MessageBox.Show("data saved to DB");
}
else
MessageBox.Show("please fill all mandatory fields");
}
But this is not working.
Thanks in advance!!!

Related

"Index (zero based) must be greater than or equal to zero and less than the size of the argument list" at the end of an event

I get this exception when button_click method is over.
The problem is that in this part of code i do not have any string format or something like this.
I can't understand why this is happening.
The button is in a popup form in a detail grid. The weird thing is that the record is update just fine.
Below is my code.
protected void ASPxButton3_Click(object sender, EventArgs e)
{
try
{
DateTime birth = DateTime.Now.AddMonths(Convert.ToInt32(MONTH.Text));
birth = birth.AddYears(-Convert.ToInt32(YEAR.Text));
int key = 0;
Prsnout_RootObject prsn = new Prsnout_RootObject();
prsn.data = new PrsnData();
prsn.data.PRSNOUT = new List<PRSNOUT>();
prsn.data.PRSEXTRA = new List<PRSEXTRA>();
prsn.data.PRSOUTEXTRA = new List<PRSOUTEXTRA>();
if ((Session["newrecord"] != null))
{
if (!(Boolean)(Session["newrecord"]))
key = Convert.ToInt32(Session["KEYROWPRSN"].ToString().Split(';')[1]);
}
prsn.data.PRSNOUT.Add(new PRSNOUT
{
CODE = (key == 0 ? "*" : null),
NAME = ASPxTextBox4.Text,
NAME2 = ASPxTextBox4.Text,
CCCZOOSEX = Convert.ToInt32(ASPxComboBox1.Value),
CCCRATSA = Convert.ToInt32(CCCRATSA.Value),
CCCANIMAL = Convert.ToInt32(CCCANIMAL.Value),
UPDDATE = (((DateTime)DateTime.Now).ToString("yyyy-MM-dd HH:mm")),
BIRTHDATE = (((DateTime)birth).ToString("yyyy-MM-dd")),
CCCCHARACTER = Convert.ToInt32(CHARACTER.Value),
CCCORIGIN = country.Text,
CCCBREEDER = EKTROFEAS.Text,
CCCFOOD = EIDDIATR.Text,
CCCCHARACTERISTICS = IDIAITCHAR.Text,
CCCBLOOD = Convert.ToInt32(AIMA.Value),
CCCHISTORY = PAST.Text,
}
);
double kj = Convert.ToDouble(WEIGHT.Text);
prsn.data.PRSOUTEXTRA.Add(new PRSOUTEXTRA
{
BOOL01 = Convert.ToInt32(CROSS.Checked),
VARCHAR05 = MICROCHIP.Text,
NUM01 = WEIGHT.Text != "" ? WEIGHT.Text.ToString().Replace(",", ".") : "", //!= null ? int.Parse(WEIGHT.Text) : 0.0,
CCCHM = (Convert.ToInt32(DIATROFI.Items.FindByValue("1").Selected)).ToString(),
CCCDF = (Convert.ToInt32(DIATROFI.Items.FindByValue("2").Selected)).ToString(),
CCCCF = (Convert.ToInt32(DIATROFI.Items.FindByValue("3").Selected)).ToString(),
UTBL03 = Convert.ToInt32(Session["D"]),
UTBL04 = Convert.ToInt32(Session["U"]),
UTBL05 = Convert.ToInt32(Session["DV"]),
CCCCOLOUR1 = Convert.ToInt32(COLOUR.Items.FindByValue("GREY").Selected),
CCCCOLOUR2 = Convert.ToInt32(COLOUR.Items.FindByValue("RED").Selected),
CCCCOLOUR3 = Convert.ToInt32(COLOUR.Items.FindByValue("BROWN").Selected),
CCCCOLOUR4 = Convert.ToInt32(COLOUR.Items.FindByValue("WHITE").Selected),
CCCCOLOUR5 = Convert.ToInt32(COLOUR.Items.FindByValue("BLACK").Selected),
CCCCOLOUR6 = Convert.ToInt32(COLOUR.Items.FindByValue("MEL").Selected),
CCCCOLOUR7 = Convert.ToInt32(COLOUR.Items.FindByValue("BEZ").Selected),
CCCCOLOUR8 = Convert.ToInt32(COLOUR.Items.FindByValue("BLONDE").Selected),
CCCCOLOUR9 = Convert.ToInt32(COLOUR.Items.FindByValue("TIGER").Selected),
CCCCOLOUR10 = Convert.ToInt32(COLOUR.Items.FindByValue("APAL").Selected),
CCCCOLOUR11 = Convert.ToInt32(COLOUR.Items.FindByValue("PAL").Selected),
CCCCOLOUR12 = Convert.ToInt32(COLOUR.Items.FindByValue("STR").Selected),
CCCCOLOUR13 = Convert.ToInt32(COLOUR.Items.FindByValue("ISAV").Selected),
CCCCOLOUR14 = Convert.ToInt32(COLOUR.Items.FindByValue("ORED").Selected),
CCCCOLOUR15 = Convert.ToInt32(COLOUR.Items.FindByValue("ORMEL").Selected),
CCCCOLOUR16 = Convert.ToInt32(COLOUR.Items.FindByValue("ORF").Selected),
CCCCOLOUR17 = Convert.ToInt32(COLOUR.Items.FindByValue("IRON").Selected),
CCCCOLOUR18 = Convert.ToInt32(COLOUR.Items.FindByValue("RACE").Selected),
CCCCOLOUR19 = Convert.ToInt32(COLOUR.Items.FindByValue("FAIO").Selected),
CCCCOLOUR20 = Convert.ToInt32(COLOUR.Items.FindByValue("VWHITE").Selected)
}
);
string kkk = (Convert.ToInt32(COLOUR.Items.FindByValue("GREY").Selected)).ToString();
Def.result r = (Def.result)ws.SetData(ResultLogin, "setdata", "PRSNOUT", "Κτηνιατρείο(2)(2)", key, prsn.data);
if (ws.Error != null)
{
POST.HeaderText = "Error";
ASPxLabel2.Text = ws.Error;
}
else
{
POST.HeaderText = "";
ASPxLabel2.Text = "H καταχώρηση ολοκληρώθηκε.";
ASPxPopupControl1.ShowOnPageLoad = false;
}
}
catch (Exception ee)
{
POST.HeaderText = "Error";
ASPxLabel2.Text = ee.Message;
}
ASPxPopupControl1.ShowOnPageLoad = false;
POST.ShowOnPageLoad = true;
Session.Add("newrecord", false);
}

CSV to GridView than CRUD operations

i am making a Job reporter application, and till now what i did is, imported C.S.V file to grid view and displaying it by saving it in a data table, now what i want is,update and save the record back in the c.s.v file, i am not using any S.Q.L or any type of database, is it possible to do this?
please help me, i have to deliver project in two hours.
The project is C# Win forms.
Also help me in how i can serialize it to upload into ftp server.
THE CODE IS here...
private void openProjectToolStripMenuItem_Click_1(object sender, EventArgs e)
{
// int size = -1;
OpenFileDialog ofd = new OpenFileDialog()
{
Title = "Choose a File",
InitialDirectory = #"c:\dev\",
Filter = "Text Files (.txt)|*.txt|XML Files|*.xml|Word Documents (.docx)|*.docx",
RestoreDirectory = true,
Multiselect = false
};
if (ofd.ShowDialog() != System.Windows.Forms.DialogResult.OK)
{
MessageBox.Show("No file selected!");
return;
}
using (StreamReader oStreamReader = new StreamReader(ofd.FileName))
{
try
{
Application.DoEvents();
DataSet ds = new DataSet("ApplicationData");
//some updates in the Datatable
DataTable JobHeaderDataTable = new DataTable("JobHeaderDataTable");
DataTable JobDate = new DataTable("JobDate");
DataTable JobDateItems = new DataTable("JobDateItems");
ds.Tables.Add(JobHeaderDataTable);
ds.Tables.Add(JobDate);
ds.Tables.Add(JobDateItems);
int rowCount = 0;
string[] columnNames = null;
string[] oStreamDataValues = null;
while (!oStreamReader.EndOfStream)
{
string oStreamRowData = oStreamReader.ReadLine().Trim();
if (oStreamRowData.Length > 0)
{
oStreamDataValues = oStreamRowData.Split('-');
if (rowCount == 0 && oStreamDataValues[0].ToString() == "HDR")
{
rowCount = 1;
columnNames = oStreamDataValues;
for (int i = 1; i < columnNames.Length; i++)
{
DataColumn oDataColumn = new DataColumn(columnNames[i].ToUpper(), typeof(string));
oDataColumn.DefaultValue = string.Empty;
JobHeaderDataTable.Columns.Add(oDataColumn);
}
//// For Slider
//txtCompany.Text = oStreamDataValues.GetValue(1).ToString();
//txtLocation.Text = oStreamDataValues.GetValue(2).ToString();
//txtRigName.Text = oStreamDataValues.GetValue(3).ToString();
//txtState.Text = oStreamDataValues.GetValue(4).ToString();
//txtCounty.Text = oStreamDataValues.GetValue(5).ToString();
//txtWellName.Text = oStreamDataValues.GetValue(6).ToString();
//txtTownship.Text = oStreamDataValues.GetValue(7).ToString();
//txtDescription.Text = oStreamDataValues.GetValue(8).ToString();
//txtBentHstSub.Text = oStreamDataValues.GetValue(9).ToString();
//txtBilToBend.Text = oStreamDataValues.GetValue(10).ToString();
//txtPadOD.Text = oStreamDataValues.GetValue(11).ToString();
//txtNBStab.Text = oStreamDataValues.GetValue(11).ToString();
//txtJob_ID.Text = oStreamDataValues.GetValue(12).ToString();
//// For Header
//txtCompanyHeader.Text = oStreamDataValues.GetValue(1).ToString();
//txtLocationHeader.Text = oStreamDataValues.GetValue(2).ToString();
//txtRigNameHeader.Text = oStreamDataValues.GetValue(3).ToString();
//txtStateHeader.Text = oStreamDataValues.GetValue(4).ToString();
//txtCountyHeader.Text = oStreamDataValues.GetValue(5).ToString();
//txtWellNameHeader.Text = oStreamDataValues.GetValue(6).ToString();
//txtTownshipHeader.Text = oStreamDataValues.GetValue(7).ToString();
//txtDescriptionHeader.Text = oStreamDataValues.GetValue(8).ToString();
//txtBentHstSubHeader.Text = oStreamDataValues.GetValue(9).ToString();
//txtBillToBendHeader.Text = oStreamDataValues.GetValue(10).ToString();
//txtPadODHeader.Text = oStreamDataValues.GetValue(11).ToString();
//txtNBStabHeader.Text = oStreamDataValues.GetValue(11).ToString();
//txtJob_IDHeader.Text = oStreamDataValues.GetValue(12).ToString();
}
else
{
DataRow oDataRow = JobHeaderDataTable.NewRow();
for (int i = 1; i < columnNames.Length; i++)
{
oDataRow[columnNames[i]] = oStreamDataValues[i] == null ? string.Empty : oStreamDataValues[i].ToString();
}
JobHeaderDataTable.Rows.Add(oDataRow);
}
}
}
oStreamReader.Close();
oStreamReader.Dispose();
foreach (DataRow dr in JobHeaderDataTable.Rows)
{
dataGridView2.DataSource = JobHeaderDataTable;
dataGridView4.DataSource = JobDate;
dataGridView5.DataSource = JobDateItems;
}
}
catch (IOException)
{
}
}
}
Save yourself some headache and check out, ClosedXML, and create the csv using this answer is available Can I save an EXCEL worksheet as CSV via ClosedXML?.
System.IO.File.WriteAllLines(csvFileName,
worksheet.RowsUsed().Select(row =>
string.Join(";", row.Cells(1, row.LastCellUsed(false).Address.ColumnNumber)
.Select(cell => cell.GetValue<string>()))
));

DevExpress Lookupedit Set Selected Value

I have following Grid where it populates InquiryDetails in the Win Form Load event
private void frmInquiryManagement_Load(object sender, EventArgs e)
{
InquiryService inquiry = new InquiryService();
clearGetInquiry();
DataTable dt = InfoPCMS.db.executeSelectQuery("select * from Inquiry");
gridInquiryList.DataSource = dt;
DataTable dt2 = InfoPCMS.db.executeSelectQuery("select * from Customer");
txtCustomer.Properties.DataSource = dt2;
txtCustomer.Properties.ValueMember = "Id";
txtCustomer.Properties.DisplayMember = "CustomerName";
txtCustomer.Properties.NullText = "Please Select Customer";
txtCustomer.Properties.Columns.Add(new DevExpress.XtraEditors.Controls.LookUpColumnInfo("CustomerName"));
txtCustomer.Properties.Columns.Add(new DevExpress.XtraEditors.Controls.LookUpColumnInfo("Address"));
txtCustomer.Properties.ShowHeader = false;
int nextid = inquiry.getNextId();
txtInquiryNo.Text = nextid.ToString();
}
By double clicking on a row, it searches for all the details and displays in "Get Inquiries" Tab as follows, code of that is below the image
private void selectInquiry(object sender, EventArgs e)
{
btnAddInquiry.Enabled = false;
btnUpdate.Enabled = true;
txtInquiryNo.Enabled = false;
String inquiryno = gridView1.GetFocusedDataRow()["InquiryNumber"].ToString();
InquiryService inquiry = new InquiryService();
inquiry = inquiry.searchInquiry(inquiryno);
if (inquiry != null)
{
txtInquiryNo.Text = inquiry.InquiryNumber.ToString();
//txtDate.Text = inquiry.InquiryDate;
txtDate.Text = InfoPCMS.conversion.convertDate(inquiry.InquiryDate);
txtCustomer.EditValue = inquiry.CustomerID.ToString();
txtInquiryTaken.Text = inquiry.InquiryTaken;
txtInspectionDetails.Text = inquiry.InspectionDetails;
txtProblemNature.Text = inquiry.ProblemNature;
txtProblemSource.Text = inquiry.ProblemSource;
txtSiteResponsible.Text = inquiry.SiteResponsible;
txtQuotationNo.Text = inquiry.QuotationNumber.ToString();
txtFollowupDetails.Text = inquiry.FollowupDetails;
txtInspectionDone.Text = inquiry.InspectionDone;
tabInquiryManagement.SelectedTabPage = xtraTabPage2;
}
else
{
MessageBox.Show(InfoPCMS.message.GET_NO_SUCH_RECORD_INFORMATION(), "Information");
}
}
First time you search it works fine, But after when you clear all the fields and the page and try another record it will give all the records but the Lookupedit value to its null state as follows,
private void clearGetInquiry() {
txtInquiryNo.Text = "";
txtDate.Text = "";
txtCustomer.EditValue = null;
txtInquiryTaken.Text = "";
txtInspectionDetails.Text = "";
txtProblemNature.Text = "";
txtProblemSource.Text = "";
txtSiteResponsible.Text = "";
txtQuotationNo.Text = "";
txtFollowupDetails.Text = "";
txtInspectionDone.Text = "";
btnAddInquiry.Text = "Add Inquiry";
InquiryService inquiry = new InquiryService();
int nextid = inquiry.getNextId();
txtInquiryNo.Text = nextid.ToString();
tabInquiryManagement.SelectedTabPage = xtraTabPage1;
btnAddInquiry.Enabled = true;
btnUpdate.Enabled = false;
txtInquiryNo.Enabled = true;
}
How can I get rid of this issue? (This happens even when you do the search after going into the "Get Inquiries" Tab and come.

My data will be changed when com to Excel from datagridview

I have program but when I want to send them to Excel from datagridview some of the there Columns well be changed in Excel
I will appreciate if any friend can help me.
You can see code in below
The above problem in Columns Cm-1 Till Rm-12
It shows in Excel 0,1,2,3,....
private void button1_Click(object sender, EventArgs e)//Export To Exel
{
OleDbConnection ocon;
OleDbCommand ocom;
OleDbDataAdapter oda;
OleDbCommandBuilder ocb;
saveFileDialog1.ShowDialog();
ocon = new OleDbConnection("Provider=Microsoft.Jet.OleDb.4.0; Data Source=" + saveFileDialog1.FileName + "; Extended Properties=Excel 8.0;");
ocom = ocon.CreateCommand();
ocon.Open();
ocom.CommandText = "CREATE table [Consumption](Geo_Market char(20),location char(20),segment_id char(20),Parent_store_Name char(20),store_Name char(20),store_Level char(20),Sub_Sub_Segment char(20),part_no char(20),Part_Description char(20),part_Type char(20),QTY Integer,UOM char(20),price Integer,Averag_Stock_Value Integer,min_level Integer,max_level Integer,part_location char(20),[CM-1] Integer,[CM-2] Integer,[CM-3] Integer,[CM-4] Integer,[CM-5] Integer,[CM-6] Integer,[CM-7] Integer,[CM-8] Integer,[CM-9] Integer,[CM-10] Integer,[CM-11] Integer,[CM-12] Integer,[RM-1] Integer,[RM-2] Integer,[RM-3] Integer,[RM-4] Integer,[RM-5] Integer,[RM-6] Integer,[RM-7] Integer,[RM-8] Integer,[RM-9] Integer,[RM-10] Integer,[RM-11] Integer,[RM-12] Integer,last_issue_date Char(20),Excess_qty Integer,Excess_value Integer,Slow_Move char(20))";
ocom.ExecuteNonQuery();
ocom.Parameters.Add("Geo_Market", OleDbType.Char);//0
ocom.Parameters.Add("location", OleDbType.Char);//1
ocom.Parameters.Add("segment_id", OleDbType.Char);//2
ocom.Parameters.Add("Parent_store_Name", OleDbType.Char);//3
ocom.Parameters.Add("store_Name", OleDbType.Char);//4
ocom.Parameters.Add("store_Level", OleDbType.Char);//5
ocom.Parameters.Add("Sub_Sub_Segment", OleDbType.Char);//6
ocom.Parameters.Add("part_no", OleDbType.Char);//7
ocom.Parameters.Add("Part_Description", OleDbType.Char);//8
ocom.Parameters.Add("part_Type", OleDbType.Char);//9
ocom.Parameters.Add("QTY", OleDbType.Integer);//10
ocom.Parameters.Add("UOM", OleDbType.Char);//11
ocom.Parameters.Add("price", OleDbType.Decimal);//12
ocom.Parameters.Add("Averag_Stock_Value", OleDbType.Decimal);//13
ocom.Parameters.Add("min_level", OleDbType.Integer);//14
ocom.Parameters.Add("min_level", OleDbType.Integer);//15
ocom.Parameters.Add("part_location", OleDbType.Char);//16
ocom.Parameters.Add("CM-1", OleDbType.Integer);//17
ocom.Parameters.Add("CM-2", OleDbType.Integer);//18
ocom.Parameters.Add("CM-3", OleDbType.Integer);//19
ocom.Parameters.Add("CM-4", OleDbType.Integer);//20
ocom.Parameters.Add("CM-5", OleDbType.Integer);//21
ocom.Parameters.Add("CM-6", OleDbType.Integer);//22
ocom.Parameters.Add("CM-7", OleDbType.Integer);//23
ocom.Parameters.Add("CM-8", OleDbType.Integer);//24
ocom.Parameters.Add("CM-9", OleDbType.Integer);//25
ocom.Parameters.Add("CM-10", OleDbType.Integer);//26
ocom.Parameters.Add("CM-11", OleDbType.Integer);//27
ocom.Parameters.Add("CM-12", OleDbType.Integer);//28
ocom.Parameters.Add("RM-1", OleDbType.Integer);//29
ocom.Parameters.Add("RM-2", OleDbType.Integer);//30
ocom.Parameters.Add("RM-3", OleDbType.Integer);//31
ocom.Parameters.Add("RM-4", OleDbType.Integer);//32
ocom.Parameters.Add("RM-5", OleDbType.Integer);//33
ocom.Parameters.Add("RM-6", OleDbType.Integer);//34
ocom.Parameters.Add("RM-7", OleDbType.Integer);//35
ocom.Parameters.Add("RM-8", OleDbType.Integer);//36
ocom.Parameters.Add("RM-9", OleDbType.Integer);//37
ocom.Parameters.Add("RM-10", OleDbType.Integer);//38
ocom.Parameters.Add("RM-11", OleDbType.Integer);//39
ocom.Parameters.Add("RM-12", OleDbType.Integer);//40
ocom.Parameters.Add("last_issue_date", OleDbType.Char);//41
ocom.Parameters.Add("Excess_qty", OleDbType.Integer);//42
ocom.Parameters.Add("Excess_value", OleDbType.Integer);//43
ocom.Parameters.Add("Slow_Move", OleDbType.Char);//44
//// چون که اکسپور شود دکمه گو را توی Go buttom ra dar yek dat2 ke dar bala creat kardam rikhtam
for (int dr = 0; dr < dataGridView1.Rows.Count - 1; dr++)
{
ocom.Parameters[0].Value = (string)dataGridView1.Rows[dr].Cells[0].Value;
ocom.Parameters[1].Value = (string)dataGridView1.Rows[dr].Cells[1].Value;
ocom.Parameters[2].Value = (string)dataGridView1.Rows[dr].Cells[2].Value;
ocom.Parameters[3].Value = (string)dataGridView1.Rows[dr].Cells[3].Value;
ocom.Parameters[4].Value = (string)dataGridView1.Rows[dr].Cells[4].Value;
ocom.Parameters[5].Value = (string)dataGridView1.Rows[dr].Cells[5].Value;
ocom.Parameters[6].Value = (string)dataGridView1.Rows[dr].Cells[6].Value;
ocom.Parameters[7].Value = (string)dataGridView1.Rows[dr].Cells[7].Value;
ocom.Parameters[8].Value = (string)dataGridView1.Rows[dr].Cells[8].Value;//(Int64)
ocom.Parameters[9].Value = (string)dataGridView1.Rows[dr].Cells[9].Value;//(Int64)
ocom.Parameters[10].Value = Convert.ToInt32(dataGridView1.Rows[dr].Cells[10].Value);//(int)
ocom.Parameters[11].Value = (string)dataGridView1.Rows[dr].Cells[11].Value;//(int)
ocom.Parameters[12].Value = Convert.ToDecimal(dataGridView1.Rows[dr].Cells[12].Value);
ocom.Parameters[13].Value = Convert.ToDecimal(dataGridView1.Rows[dr].Cells[13].Value);
ocom.Parameters[14].Value = Convert.ToInt32(dataGridView1.Rows[dr].Cells[14].Value);
ocom.Parameters[15].Value = Convert.ToInt32(dataGridView1.Rows[dr].Cells[15].Value);
ocom.Parameters[16].Value = (string)dataGridView1.Rows[dr].Cells[16].Value;
ocom.Parameters[17].Value = Convert.ToInt32(dataGridView1.Rows[dr].Cells[17].Value);//cm1
ocom.Parameters[18].Value = Convert.ToInt32(dataGridView1.Rows[dr].Cells[18].Value);
ocom.Parameters[19].Value = Convert.ToInt32(dataGridView1.Rows[dr].Cells[19].Value);
ocom.Parameters[20].Value = Convert.ToInt32(dataGridView1.Rows[dr].Cells[20].Value);
ocom.Parameters[21].Value = Convert.ToInt32(dataGridView1.Rows[dr].Cells[21].Value);
ocom.Parameters[22].Value = Convert.ToInt32(dataGridView1.Rows[dr].Cells[22].Value);
ocom.Parameters[23].Value = Convert.ToInt32(dataGridView1.Rows[dr].Cells[23].Value);
ocom.Parameters[24].Value = Convert.ToInt32(dataGridView1.Rows[dr].Cells[24].Value);
ocom.Parameters[25].Value = Convert.ToInt32(dataGridView1.Rows[dr].Cells[25].Value);
ocom.Parameters[26].Value = Convert.ToInt32(dataGridView1.Rows[dr].Cells[26].Value);
ocom.Parameters[27].Value = Convert.ToInt32(dataGridView1.Rows[dr].Cells[27].Value);
ocom.Parameters[28].Value = Convert.ToInt32(dataGridView1.Rows[dr].Cells[28].Value);
ocom.Parameters[29].Value = (string)dataGridView1.Rows[dr].Cells[29].Value;
ocom.Parameters[30].Value = (string)dataGridView1.Rows[dr].Cells[30].Value;
ocom.Parameters[31].Value = (string)dataGridView1.Rows[dr].Cells[31].Value;
ocom.Parameters[32].Value = (string)dataGridView1.Rows[dr].Cells[32].Value;
ocom.Parameters[33].Value = (string)dataGridView1.Rows[dr].Cells[33].Value;
ocom.Parameters[34].Value = (string)dataGridView1.Rows[dr].Cells[34].Value;
ocom.Parameters[35].Value = (string)dataGridView1.Rows[dr].Cells[35].Value;
ocom.Parameters[36].Value = (string)dataGridView1.Rows[dr].Cells[36].Value;
ocom.Parameters[37].Value = (string)dataGridView1.Rows[dr].Cells[37].Value;
ocom.Parameters[38].Value = (string)dataGridView1.Rows[dr].Cells[38].Value;
ocom.Parameters[39].Value = (string)dataGridView1.Rows[dr].Cells[39].Value;
ocom.Parameters[40].Value = (string)dataGridView1.Rows[dr].Cells[40].Value;
ocom.Parameters[41].Value = (string)dataGridView1.Rows[dr].Cells[41].Value;
ocom.Parameters[42].Value = Convert.ToInt32(dataGridView1.Rows[dr].Cells[42].Value);
ocom.Parameters[43].Value = Convert.ToDecimal(dataGridView1.Rows[dr].Cells[43].Value);
ocom.Parameters[44].Value = (string)dataGridView1.Rows[dr].Cells[44].Value;
ocom.CommandText = ("Insert into [Consumption] (Geo_Market,location,segment_id,Parent_store_Name,store_Name,store_Level,Sub_Sub_Segment,part_no,Part_Description,part_Type,QTY,UOM,price,Averag_Stock_Value,min_level,max_level,part_location,[CM-1],[CM-2],[CM-3],[CM-4],[CM-5],[CM-6],[CM-7],[CM-8],[CM-9],[CM-10],[CM-11],[CM-12],[RM-1],[RM-2],[RM-3],[RM-4],[RM-5],[RM-6],[RM-7],[RM-8],[RM-9],[RM-10],[RM-11],[RM-12],last_issue_date,Excess_qty,Excess_value,Slow_Move) VALUES(#Geo_Market,#location,#segment_id,#Parent_store_Name,#store_Name,#store_Level,#Sub_Sub_Segment,#part_no,#Part_Description,#part_Type,#QTY,#UOM,#price,#Averag_Stock_Value,#min_level,#max_level,#part_location,#CM-1,#CM-2,#CM-3,#CM-4,#CM-5,#CM-6,#CM-7,#CM-8,#CM-9,#CM-10,#CM-11,#CM-12,#RM-1,#RM-2,#RM-3,#RM-4,#RM-5,#RM-6,#RM-7,#RM-8,#RM-9,#RM-10,#RM-11,#RM-12,#last_issue_date,#Excess_qty,#Excess_value,#Slow_Move)");
ocom.ExecuteNonQuery();
}
ocon.Close();
MessageBox.Show("Your Report Has creat And Exported To Excel");
}
Can you try changing the the comum names "CM-1" to something like "CM_1"?

Highcharts using Datatable in Asp.Net

Actually,I'm using PieChart of HighCharts to display my data.
The data is Getting binded but the Tooltips are not displaying correctly.
When I'm binding the same data to LineChart,It is displaying perfectly.But when comes to PieChart,this problem comes.
and even the data is displaying as Slices like Below :
My Code goes like this :
<highchart:PieChart ID="chart1" Width="500" Height="500" runat="server" />
SqlDataAdapter da = new SqlDataAdapter("select * from SURVEY_ORG where USERS<>0", con);
DataSet ds = new DataSet();
da.Fill(ds);
chart1.PlotOptions = new Highchart.Core.PlotOptions.PlotOptionsPie
{
allowPointSelect = true,
cursor = "pointer",
dataLabels = new Highchart.Core.PlotOptions.DataLabels { enabled = true }
};
PointCollection pc = new PointCollection();
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
pc.Add(new Point(ds.Tables[0].Rows[i]["ORG_NAME"], Convert.ToInt64(ds.Tables[0].Rows[i]["USERS"])));
}
var series = new Collection<Serie>();
series.Add(new Serie() { data = pc.ToArray() });
chart1.PlotOptions = new Highchart.Core.PlotOptions.PlotOptionsPie
{
allowPointSelect = true,
cursor = "Pointer",
showInLegend = true,
dataLabels = new Highchart.Core.PlotOptions.DataLabels
{
enabled = true
}
};
chart1.Tooltip = new ToolTip { formatter = "function() { return '<b>'+ this.point.name +'</b>: '+ this.percentage.toFixed(2) +' %'; }" };
chart1.Title = new Highchart.Core.Title("Custom Title");
chart1.PlotOptions.shadow = false;
chart1.DataSource = series;
chart1.DataBind()
I want to Display "ORG_NAME" in Legends and in the place of slice
I got the Answer.
The way of binding is bit different for PieChart.
SqlDataAdapter da = new SqlDataAdapter("select ORG_NAME,USERS from SURVEY_ORG where USERS<>0", con);
da.Fill(dataSet);
Int32 totalArraySize = dataSet.Tables[0].Rows.Count;
Object[] XAxisData = new object[totalArraySize];
Object[] YAxisServices = new object[totalArraySize];
int J = 0;
foreach (DataRow drRow in dataSet.Tables[0].Rows)
{
YAxisServices[J] = new object[] { drRow[0].ToString(), Convert.ToInt32(drRow[1].ToString()) };
J += 1;
}
Highchart.Core.SerieCollection series = new Highchart.Core.SerieCollection();
Highchart.Core.Data.Chart.Serie serieServices = new Highchart.Core.Data.Chart.Serie();
serieServices.size = 130;
serieServices.data = YAxisServices;
serieServices.type = RenderType.pie;
serieServices.name = "";
serieServices.showInLegend = false;
series.Add(serieServices);
chart1.PlotOptions = new Highchart.Core.PlotOptions.PlotOptionsPie
{
allowPointSelect = true,
cursor = "pointer",
dataLabels = new Highchart.Core.PlotOptions.DataLabels { enabled = true, formatter = "this.point.name" },
animation = false
};
chart1.Tooltip = new ToolTip("this.point.name +': '+ this.y");
chart1.DataSource = series;
chart1.DataBind();
chart1.Dispose();
try it..
Legend legend = new Legend();
legend.Layout = Layouts.Vertical;
legend.Align = HorizontalAligns.Left;
legend.VerticalAlign = VerticalAligns.Top;
legend.X = 100;
legend.Y = 70;
legend.Floating = true;
legend.BackgroundColor = ColorTranslator.FromHtml("#FFFFFF");
legend.Shadow = true;
chart1.Legend.enabled = true;
chart1.Legend = legend;

Categories