小编FJP*_*ort的帖子

在列中的DataGridView中搜索值

我希望用户能够在DataGridView(dgv)的列中搜索数字.dgv可以保存很多记录.每条记录都有一个项目编号.所以我希望用户能够在项目编号列中搜索项目编号.我的列是:ProjectID(不可见); 图像(无headertext); 项目编号; 项目名; 公司; 联系.

这是我的代码:

private void btnSearch_Click(object sender, EventArgs e)
{
    string searchValue = textBox1.Text;
    int rowIndex = -1;

    dgvProjects.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
    try
    {
        foreach (DataGridViewRow row in dgvProjects.Rows)
        {
            if (row.Cells[row.Index].Value.ToString().Equals(searchValue))
            {
                rowIndex = row.Index;
                dgvProjects.Rows[row.Index].Selected = true;
                break;
            }
        }
    }
    catch (Exception exc)
    {
        MessageBox.Show(exc.Message);
    }
}
Run Code Online (Sandbox Code Playgroud)

问题#1:到目前为止它做了什么:用户在TextBox1中键入项目编号.当他/她单击按钮时,代码会在行中搜索此字符串,当找到项目编号时,该行将被选中.它工作正常,但只有一次.当我想搜索其他项目编号时,没有任何反应.

问题2:我认为这可以通过仅搜索列项目名称的值以更好的方式完成.但是我该如何正确地做到这一点?

我用来搜索的代码来自这个答案

c# datagridview datagridviewcolumn winforms

4
推荐指数
2
解决办法
11万
查看次数

如何在UserControl中关闭表单

我创建了按钮的用户控件Save,CloseCancel.我想关闭表单而不保存取消按钮,提示消息保存在关闭按钮上,保存而不关闭保存按钮.通常,我会使用this.Close()取消按钮,但UserControl没有这样的选项.所以我想我必须为此设置一个属性.

向下滚动该"Questions that may already have your answer"部分,我遇到了这个问题:如何从其中加载的UserControl按钮关闭ChildWindow?我使用了以下C#代码:

private void btnCancel_Click(object sender, EventArgs e)
{
    ProjectInfo infoScreen = (ProjectInfo)this.Parent;
    infoScreen.Close();
}
Run Code Online (Sandbox Code Playgroud)

这可以完成一个屏幕的工作,但我想知道是否必须为我拥有的所有屏幕应用此代码?我认为应该有一种更有效的方式.所以我的问题是:我是否需要为我拥有的每种表单应用此代码,还是有另一种(更有效)的方式?

c# user-controls winforms visual-c#-express-2010

3
推荐指数
2
解决办法
3万
查看次数

无法使用square()函数c ++

我是C++的新手,我正在使用Bjarne Stroustrup 撰写的"编程原则和实践使用C++"一书(我将在未来的学校课程中使用这本书).本书中的代码示例使用std_lib_facilities.h.在某些时候,本书会调用该函数square(),但是当我这样做时,我会收到以下错误:

error C3861: 'square': identifier not found
Run Code Online (Sandbox Code Playgroud)

另一方面,我能够使用这个sqrt()功能......我确实包括了std_lib_facilities.h,那个包含了cmath,所以我觉得那不是问题吗?

我该怎么做才能使用这个square()功能?

c++ function cmath

0
推荐指数
1
解决办法
3507
查看次数