private void DataView_SelectionChanged(object sender, SelectionChangedEventArgs e) { if (DataView.SelectedItem == null) { return; } TicketPriceClass itemInfo = DataView.SelectedItem as TicketPriceClass; if (itemInfo == null || !(itemInfo is TicketPriceClass)) { MessageBox.Show("获取选中项出现问题"); return; } Text_ticketprice_Copy.Text = itemInfo.ticketprice.ToString(); }
private void Button_modify_Click(object sender, RoutedEventArgs e) { if (DataView.SelectedItem == null) { return; } int selected_enterstationid = 0; int selected_leavestationid = 0; int selected_lineid = 0; TicketPriceClass itemInfo = DataView.SelectedItem as TicketPriceClass; if (itemInfo != null && itemInfo is TicketPriceClass) { selected_enterstationid = itemInfo.enterstationid; selected_leavestationid = itemInfo.leavestationid; selected_lineid = itemInfo.lineid; } else { MessageBox.Show("获取选中项出现问题"); return; } TcpClient tcpClient = null; NetworkStream networkStream = null; try { tcpClient = new TcpClient(); tcpClient.Connect(ip_address, port); //建立与服务器的连接 networkStream = tcpClient.GetStream(); if (networkStream.CanWrite) { float ticketprice = 0; if (!getStandard(out ticketprice, Text_ticketprice_Copy.Text)) { MessageBox.Show("查询信息填写错误"); return; } var package = new TTS_Core.TicketPriceOperationPackage(user, ip_address + ":" + listen_port.ToString(), "server", TTS_Core.Enum_OP.K_MODIFY, selected_enterstationid, selected_leavestationid, selected_lineid, ticketprice); byte[] sendBytes = package.DataPackageToBytes(); //注册数据包转化为字节数组 networkStream.Write(sendBytes, 0, sendBytes.Length); var newClient = tcp_listener.AcceptTcpClient(); var bytes = ReadFromTcpClient(newClient); //获取数据 var package_rec = new TTS_Core.DataSetPackage(bytes); if (package_rec.forbid != 0 && package_rec.forbid != 1) { MessageBox.Show("出大问题"); } if (package_rec.forbid == 1) { MessageBox.Show("修改失败,请检查完整性约束或者是服务器故障"); } else { itemInfo.ticketprice = ticketprice; DataView.Items.Insert(DataView.SelectedIndex, itemInfo); DataView.Items.Remove(DataView.SelectedItem); DataView.Items.Refresh(); } } } catch { MessageBox.Show("无法连接到服务器!"); return; } finally { if (networkStream != null) { networkStream.Close(); } tcpClient.Close(); } }