我们如何根据组合框值在gridview中添加多项目。 [英] How we can add multipal items in gridview according to combobox value.

查看:85
本文介绍了我们如何根据组合框值在gridview中添加多项目。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当我的应用程序加载时,我从组合框中选择任何值,它将添加到gridview。

从组合框中添加一个值后,我从组合框中选择另一个值,但它再次添加我第一次添加的先前值。

请帮助我。

先谢谢。



我尝试过:



when my application is load and i select any value from combobox it add to the gridview .
After adding one values from combobox i select another values from combobox but it again add previous value that i added first time.
Please Help my.
Thanks in Advance.

What I have tried:

private void ServicesProvidedcomboBox_SelectedIndexChanged(object sender, EventArgs e)
{
    TakeServiceTypeAndRateInGridView();
    if (ServicesAndChargesdt.Rows.Count > 0)
    {
        AddServicesClass adservis = new AddServicesClass()
        {
            ServicName = (ServicesAndChargesdt.Rows[0]["ServiceType"].ToString()),
            Rate = Convert.ToDecimal(ServicesAndChargesdt.Rows[0]["Charges"].ToString())
        };
        listadser.Add(adservis);
        ServiceAndRatedataGridView.DataSource = null;
        ServiceAndRatedataGridView.DataSource = listadser;
    }
}

private void TakeServiceTypeAndRateInGridView()
{
    using (SqlConnection conn4 = new SqlConnection(dbconfig.connectDb()))
    {                 
        conn4.Open();
        using (SqlCommand cmd = new SqlCommand("USP_Take_Service_And_Charges", conn4))
        {
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.AddWithValue("@ServiceType", ServicesProvidedcomboBox.Text);
            SqlDataReader drd = cmd.ExecuteReader();
            ServicesAndChargesdt.Load(drd);
        }                                
    }             
}

推荐答案

我不确定我是否正确理解你的问题。但我认为在更改组合框中的值后,您的Datagrid中可以看到以前的数据?



查看代码可能与在从datareader添加数据之前不清除listadser列表有关。 < listitems.clear()>在您添加数据之前可以解决您的问题,如果我正确理解您的问题
I'm not sure if I understand your problem correctly. But I assume that previous data is visible in your Datagrid after changing the value in your combobox?

Looking at your code it might have something to do with not clearing the "listadser" list before adding data from your datareader. <listitems.clear()> before you add data could resolve your problem if I understood your problem correctly
private void ServicesProvidedcomboBox_SelectedIndexChanged(object sender, EventArgs e)
{
    //Clear backing store DataGrid for older items
    listadser.Clear();
    
    //Get new data from DB
    TakeServiceTypeAndRateInGridView();
    if (ServicesAndChargesdt.Rows.Count > 0)
    {
        AddServicesClass adservis = new AddServicesClass()
        {
            ServicName = (ServicesAndChargesdt.Rows[0]["ServiceType"].ToString()),
            Rate = Convert.ToDecimal(ServicesAndChargesdt.Rows[0]["Charges"].ToString())
        };
        listadser.Add(adservis);
        ServiceAndRatedataGridView.DataSource = null;
        ServiceAndRatedataGridView.DataSource = listadser;
    }
}


这篇关于我们如何根据组合框值在gridview中添加多项目。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆