【WPF】DataGrid控件接收ApiPost返回List集合

简述:DataGrid控件显示List集合数据信息,将开始、结束时间、其他查询字段通过POST接口获取接口返回的List集合数据;代码如下:

DataGrid列表页:

 private void BindData()
 {
     Dictionary<string, string> addParames = new Dictionary<string, string>();
    
     addParames.Add("beginDate", begin_date.SelectedDate.Value.ToString("yyyy-MM-dd"));

     addParames.Add("endDate", end_date.SelectedDate.Value.AddDays(1).ToString("yyyy-MM-dd"));

     addParames.Add("ChePai", chepai.Text.Trim());

     addParames.Add("Lydh", lydh.Text.Trim());

     try
     {
         string PostUrl = "http://192.168.1.150:8089/api/RiZhi/GetRiZhiInfoByModel";
         string sendData = JsonConvert.SerializeObject(addParames);//发送集合
         RecordLog(sendData);
         string resultData = Post(sendData, PostUrl);
         List<Sys_RiZhi> riZhiList = JsonConvert.DeserializeObject<List<Sys_RiZhi>>(resultData);//josn集合转成list集合
         dataGrid1.ItemsSource = riZhiList;
         //RecordLog(resultData);

     }
     catch (Exception ex)
     {
         MessageBox.Show(string.Format("局域网链接失败:{0}", ex.Message));
        
     }
 }

接口:

public List<RiZhi> GetRiZhiInfoByModel(dynamic myRequest)
{
    DateTime begin_date = DateTime.Now;
    DateTime endDate_date = DateTime.Now;
    if (!string.IsNullOrEmpty(myRequest.beginDate.ToString())) { begin_date = Convert.ToDateTime(myRequest.beginDate.ToString()); }
    if (!string.IsNullOrEmpty(myRequest.endDate.ToString())) { endDate_date = Convert.ToDateTime(myRequest.endDate.ToString()); }

    string sqlStr = "select * from Sys_RiZhi where CreateTime>='" + begin_date.ToString("yyyy-MM-dd") + "' and CreateTime<='" + endDate_date.AddDays(1).ToString("yyyy-MM-dd") + "'";

    if (!string.IsNullOrEmpty(myRequest.ChePai.ToString()))
    {
        sqlStr += " and ChePai like '%" + myRequest.ChePai + "%'";
    }

    if (!string.IsNullOrEmpty(myRequest.Lydh.ToString()))
    {
        sqlStr += " and Lydh like '%" + myRequest.Lydh + "%'";
    }

    DataTable dt = SQLiteHelper.ExecuteDataTable(sqlStr, null);

    List<RiZhi> riZhiList = SQLiteHelper.ToList<RiZhi>(dt);

    return riZhiList;
}

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
WPF中使用DataGrid件显示ComboBox,可以使用List<>来实现。 首先,我们需要在XAML中定义一个DataGrid件,并设置AutoGenerateColumns属性为False,使其不自动生成列。然后,在DataGrid中添加一个DataGridTemplateColumn,用于显示ComboBox列。 接下来,在ViewModel中创建一个List<>类型的属性,用于存储ComboBox中的选项。我们可以在构造函数中初始化这个属性。 然后,在XAML中的DataGridTemplateColumn中,我们可以使用CellTemplate和CellEditingTemplate来定义ComboBox列的显示和编辑模板。在显示模板中,我们使用TextBlock显示选项的内容;在编辑模板中,我们使用ComboBox来显示选项,并绑定到ViewModel中的属性和List<>。 最后,将DataGrid的ItemsSource属性绑定到ViewModel中的另一个List<>,用于显示DataGrid的行数据。 这样,当我们运行程序时,DataGrid中的每一行都会显示一个ComboBox列,其中的选项来自List<>中的数据。我们可以通过选择ComboBox中的选项来更新数据。 总结起来,使用List<>来添加ComboBox到WPFDataGrid中的步骤如下: 1. 在XAML中定义DataGrid件并设置AutoGenerateColumns属性为False; 2. 在ViewModel中创建一个List<>类型的属性,并在构造函数中初始化; 3. 在DataGrid中添加一个DataGridTemplateColumn,并定义ComboBox列的显示和编辑模板; 4. 将DataGrid的ItemsSource属性绑定到另一个List<>,用于显示行数据。 以上就是使用List<>添加ComboBox到WPFDataGrid的简要流程。实际操作中,可能还需要进行一些数据绑定和样式设置,以满足具体需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值