Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何动态添加";备注「;使用C对Gridview中检索到的记录进行列注释#_C#_Asp.net_Gridview - Fatal编程技术网

C# 如何动态添加";备注「;使用C对Gridview中检索到的记录进行列注释#

C# 如何动态添加";备注「;使用C对Gridview中检索到的记录进行列注释#,c#,asp.net,gridview,C#,Asp.net,Gridview,我正在通过复选框进行多列搜索,以检索gridview中的数据。我必须针对检索到的记录添加另一列“备注”。在备注栏下,根据各自的复选框对已检索的每条记录添加注释。但有一个问题,一次可以通过多个检查来检索记录。比方说,如果国家为“XYZ”,且财务日期

我正在通过复选框进行多列搜索,以检索gridview中的数据。我必须针对检索到的记录添加另一列“备注”。在备注栏下,根据各自的复选框对已检索的每条记录添加注释。但有一个问题,一次可以通过多个检查来检索记录。比方说,如果国家为“XYZ”,且财务日期<发票日期,则应在“新建备注”列下的单元格中提及这两者。此外,我必须检查输入到单元格中的空单元格或无效数据,以通过异常处理减轻影响。我一直在努力解决这两个问题,但没有成功

using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace FileUploadApplication
{
    
    public partial class RFS : Form
    {
        public static DataTable dt;
        
        public RFS()
        {
            InitializeComponent();
        }
        private void Label1_Click(object sender, EventArgs e)
        {

        }
        private void RFS_Load(object sender, EventArgs e)
        {
            dataGridView2.DataSource = Form1.dataRecord;
            SerialNumber();

        }
        private void SerialNumber() {
            //Adding Serial number
            DataGridViewTextBoxCell newCell = new();
            DataGridViewColumn SNOCol = new(newCell);
            SNOCol.DisplayIndex = 0;
            SNOCol.HeaderText = "S.NO.";
            SNOCol.Name = "SNO";
            dataGridView2.Columns.Add(SNOCol);
            
            int cnt = dataGridView2.Rows.Count;
            int i;
            for (i = 1; i <= cnt; i++)
            {
                dataGridView2.Rows[i - 1].Cells["SNO"].Value = i;
            }
        }
        private void Remarks()
        {
            //Adding Remarks
            DataGridViewTextBoxCell newCell = new();
            DataGridViewColumn Remarks = new(newCell);
            Remarks.DisplayIndex = 50;
            Remarks.HeaderText = "Remarks";
            Remarks.Name = "Remarks";
            dataGridView2.Columns.Add(Remarks);
            
        }

       private void LoadSNumber()
        {
            int i=1;
            foreach (DataGridViewRow row in dataGridView2.Rows)
            {
                row.Cells["SNO"].Value = i;i++;
            }
        }

        private void label1_Click_1(object sender, EventArgs e)
        {

        }

        private void Btn_Search_Click(object sender, EventArgs e)
        {
            { 
                { 
                  dt = Form1.dataRecord;
                  DataView dv = new DataView(dt);
                  var CountryFilter = "";
                  var AmountFilter = "";
                  var DateFilter = "";
                  var Operator = " or ";                
                  foreach (DataRow dr in dt.Rows)
                 {
                   if (Chk_CoS != null & Chk_CoS.Checked == true)
                   {
                        CountryFilter = "[COUNTRY OF SHIPMENT] = 'XYZ';  
                   }

                if (Chk_Amount != null & Chk_Amount.Checked == true)
                {

                    AmountFilter = "[BILL AMOUNT] < [AMOUNT FINANCED]";
                }

                if (Chk_Date != null & Chk_Date.Checked == true)
                {
                    DateFilter = "[Date of Finance] < [InvoiceDate]";
                }
            
                var Filter = (CountryFilter == "" ? "" : CountryFilter + (AmountFilter == "" ? "" : Operator)) + (AmountFilter == "" ? "" : AmountFilter + (DateFilter == "" ? "" : Operator)) + DateFilter;
                dv.RowFilter = Filter;
                dataGridView2.DataSource = dv;
                LoadSNumber();
               }
            Remarks();
            //Comments(dtt);
        }
        private void Chk_Date_CheckedChanged(object sender, EventArgs e)
        {
           
        }

        private void Chk_Amount_CheckedChanged(object sender, EventArgs e)
        {

        }

        private void Chk_CoS_CheckedChanged(object sender, EventArgs e)
        {

        }

        private void dataGridView2_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            
        }

      }
   }
}
使用System.Collections.Generic;
使用系统组件模型;
使用系统数据;
使用系统图;
使用System.Linq;
使用系统文本;
使用System.Text.RegularExpressions;
使用System.Threading.Tasks;
使用System.Windows.Forms;
命名空间文件上载应用程序
{
公共部分类RFS:表单
{
公共静态数据表dt;
公共RFS()
{
初始化组件();
}
私有无效标签1_单击(对象发送方,事件参数e)
{
}
私有无效RFS_加载(对象发送方,事件参数e)
{
dataGridView2.DataSource=Form1.dataRecord;
SerialNumber();
}
私有void SerialNumber(){
//添加序列号
DataGridViewTextBoxCell newCell=new();
DataGridViewColumn SNOCol=new(newCell);
SNOCol.DisplayIndex=0;
SNOCol.HeaderText=“编号”;
SNOCol.Name=“SNO”;
dataGridView2.Columns.Add(SNOCol);
int cnt=dataGridView2.Rows.Count;
int i;

对于(i=1;i但数据库中要存储的备注数据是哪一行和哪一行?这些备注必须在数据库中的某个位置和某个位置?备注是表中的一列,还是这是一个相关的子表。该子表和每一行备注只能在一个典型的数据库中属于一个父记录-任何其他设计都将破解关系数据规则。您无法解释这些注释所属的位置和表,更重要的是,您的数据表是如何设置的,以便将这些重拍与该网格中的给定行相关联。您需要正确的数据架构,然后才能对其进行编码基本上,此项目的目的只是将Excel文件上载到gridview中,并然后通过复选框应用各种条件记录检索。我没有将任何文件存储到数据库中。我有两个表单,一个用于上载excel文件,另一个具有多个搜索条件。备注功能在gridview中添加了一个附加列,但在每次检索时插入备注“备注”列中的ed记录对我来说有点混乱。筛选数据行与用户决定在文本框中键入一些文本是100%不同的问题。用户可以自由地在每行的任何文本框中键入文本。然后,您可以使用单个提交按钮处理所有网格行中的数据。我在这里没有看到问题。只是混淆了p艺术在于,某种程度上,输入到一个文本框行中的一些突然出现的文本现在也应该出现或被传输到另一行和文本框中?你当然可以这样做,但这似乎很奇怪。一个事件到文本框的更改事件是可能的,我猜它可以将该文本复制到另一行。