public void RefreshSingleRow(int index)
        {
            ChannelForm.ChannelOne channelOne = ChannelForm.data[index];
            int index2 = 0;

            foreach (DataGridViewRow item in (IEnumerable)this.dgvChannels.Rows)
            {
                if (Convert.ToInt32(item.Tag) != index)
                {
                    continue;
                }
                index2 = item.Index;
                break;
            }
            this.dgvChannels.Rows[index2].Cells[1].Value  = channelOne.Name;
            this.dgvChannels.Rows[index2].Cells[2].Value  = channelOne.RxFreq;
            this.dgvChannels.Rows[index2].Cells[3].Value  = channelOne.TxFreq;
            this.dgvChannels.Rows[index2].Cells[4].Value  = channelOne.ChModeS;
            this.dgvChannels.Rows[index2].Cells[5].Value  = channelOne.PowerS;
            this.dgvChannels.Rows[index2].Cells[6].Value  = channelOne.RxTone;
            this.dgvChannels.Rows[index2].Cells[7].Value  = channelOne.TxTone;
            this.dgvChannels.Rows[index2].Cells[8].Value  = channelOne.TxColor.ToString();
            this.dgvChannels.Rows[index2].Cells[9].Value  = channelOne.RxGroupListS;
            this.dgvChannels.Rows[index2].Cells[10].Value = channelOne.ContactS;
            this.dgvChannels.Rows[index2].Cells[11].Value = channelOne.RepeaterSlotS;
        }
        private void btnAdd_Click(object sender, EventArgs e)
        {
            int      selectedIndex = this.cmbAddChMode.SelectedIndex;
            int      minIndex      = ChannelForm.data.GetMinIndex();
            MainForm mainForm      = base.MdiParent as MainForm;
            string   minName       = ChannelForm.data.GetMinName(this.Node);
            string   text          = this.cmbAddChMode.Text;

            ChannelForm.data.SetIndex(minIndex, 1);
            ChannelForm.data.SetChName(minIndex, minName);
            ChannelForm.data.SetDefaultFreq(minIndex);
            ChannelForm.data.Default(minIndex);
            ChannelForm.data.SetChMode(minIndex, text);
            ChannelForm.ChannelOne channelOne = ChannelForm.data[minIndex];
            this.dgvChannels.Rows.Insert(minIndex, (minIndex + 1).ToString(), channelOne.Name, channelOne.RxFreq, channelOne.TxFreq, channelOne.ChModeS, channelOne.PowerS, channelOne.RxTone, channelOne.TxTone, channelOne.TxColor.ToString(), channelOne.RxGroupListS, channelOne.ContactS, channelOne.RepeaterSlotS);
            this.dgvChannels.Rows[minIndex].Tag = minIndex;
            this.method_0();
            int[] array = new int[3]
            {
                2,
                6,
                54
            };
            mainForm.InsertTreeViewNode(this.Node, minIndex, typeof(ChannelForm), array[selectedIndex], ChannelForm.data);
            mainForm.RefreshRelatedForm(base.GetType());
        }
        private void btnExport_Click(object sender, EventArgs e)
        {
            int            i = 0;
            SaveFileDialog saveFileDialog = new SaveFileDialog();

            saveFileDialog.DefaultExt      = "*.csv";
            saveFileDialog.AddExtension    = true;
            saveFileDialog.Filter          = "csv files|*.csv";
            saveFileDialog.OverwritePrompt = true;
            saveFileDialog.CheckPathExists = true;
            saveFileDialog.FileName        = "Channel_" + DateTime.Now.ToString("MMdd_HHmmss");
            if (saveFileDialog.ShowDialog() == DialogResult.OK && saveFileDialog.FileName != null)
            {
                using (CsvFileWriter csvFileWriter = new CsvFileWriter(new FileStream(saveFileDialog.FileName, FileMode.Create), Encoding.Default))
                {
                    CsvRow csvRow = new CsvRow();
                    csvRow.AddRange(ChannelsForm.SZ_HEADER_TEXT);
                    csvFileWriter.WriteRow(csvRow);
                    for (i = 0; i < ChannelForm.data.Count; i++)
                    {
                        if (ChannelForm.data.DataIsValid(i))
                        {
                            csvRow.RemoveAll(ChannelsForm.smethod_0);
                            ChannelForm.ChannelOne channelOne = ChannelForm.data[i];
                            csvRow.Add(i.ToString());
                            csvRow.Add(channelOne.Name);
                            csvRow.Add(channelOne.RxFreq);
                            csvRow.Add(channelOne.TxFreq);
                            csvRow.Add(channelOne.ChModeS);
                            csvRow.Add(channelOne.PowerS);
                            csvRow.Add(channelOne.RxTone);
                            csvRow.Add(channelOne.TxTone);
                            csvRow.Add(channelOne.TxColor.ToString());
                            csvRow.Add(channelOne.RxGroupList.ToString());
                            csvRow.Add(channelOne.Contact.ToString());
                            csvRow.Add(channelOne.RepeaterSlotS);
                            csvFileWriter.WriteRow(csvRow);
                        }
                    }
                }
            }
        }
 public void DispData()
 {
     try
     {
         this.dgvChannels.Rows.Clear();
         for (int i = 0; i < ChannelForm.data.Count; i++)
         {
             if (ChannelForm.data.DataIsValid(i))
             {
                 ChannelForm.ChannelOne channelOne = ChannelForm.data[i];
                 int index = this.dgvChannels.Rows.Add((i + 1).ToString(), channelOne.Name, channelOne.RxFreq, channelOne.TxFreq, channelOne.ChModeS, channelOne.PowerS, channelOne.RxTone, channelOne.TxTone, channelOne.TxColor.ToString(), channelOne.RxGroupListS, channelOne.ContactS, channelOne.RepeaterSlotS);
                 this.dgvChannels.Rows[index].Tag = i;
             }
         }
     }
     catch (Exception ex)
     {
         Console.WriteLine(ex.Message);
     }
 }
        private void btnImport_Click(object sender, EventArgs e)
        {
            int            num            = 0;
            int            num2           = 0;
            OpenFileDialog openFileDialog = new OpenFileDialog();

            openFileDialog.Filter = "csv files|*.csv";
            if (openFileDialog.ShowDialog() == DialogResult.OK && openFileDialog.FileName != null)
            {
                using (CsvFileReader csvFileReader = new CsvFileReader(openFileDialog.FileName, Encoding.Default))
                {
                    CsvRow csvRow = new CsvRow();
                    csvFileReader.ReadRow(csvRow);
                    if (csvRow.Count == 12 && csvRow.SequenceEqual(ChannelsForm.SZ_HEADER_TEXT))
                    {
                        for (num = 0; num < ChannelForm.data.Count; num++)
                        {
                            ChannelForm.data.SetIndex(num, 0);
                        }
                        while (csvFileReader.ReadRow(csvRow))
                        {
                            foreach (string item in csvRow)
                            {
                                string text = item;
                                if (csvRow.Count >= 12)
                                {
                                    num = 0;
                                    CsvRow csvRow2 = csvRow;
                                    num  = 1;
                                    num2 = Convert.ToInt32(((List <string>)csvRow2)[0]);
                                    ChannelForm.data.SetIndex(num2, 1);
                                    ChannelForm.data.Default(num2);
                                    if (num2 < ChannelForm.data.Count)
                                    {
                                        ChannelForm.ChannelOne value = ChannelForm.data[num2];
                                        value.Name             = ((List <string>)csvRow)[num++];
                                        value.RxFreq           = ((List <string>)csvRow)[num++];
                                        value.TxFreq           = ((List <string>)csvRow)[num++];
                                        value.ChModeS          = ((List <string>)csvRow)[num++];
                                        value.PowerS           = ((List <string>)csvRow)[num++];
                                        value.RxTone           = ((List <string>)csvRow)[num++];
                                        value.TxTone           = ((List <string>)csvRow)[num++];
                                        value.TxColor          = Convert.ToInt32(((List <string>)csvRow)[num++]);
                                        value.RxGroupList      = Convert.ToInt32(((List <string>)csvRow)[num++]);
                                        value.Contact          = Convert.ToInt32(((List <string>)csvRow)[num++]);
                                        value.RepeaterSlotS    = ((List <string>)csvRow)[num++];
                                        ChannelForm.data[num2] = value;
                                    }
                                }
                            }
                        }
                        this.DispData();
                        MainForm mainForm = base.MdiParent as MainForm;
                        mainForm.InitChannels(this.Node);
                        mainForm.RefreshRelatedForm(base.GetType());
                    }
                    else
                    {
                        MessageBox.Show("DataFormatError");
                    }
                }
            }
        }