一、checkedListBoxControl的使用全选

  1. private void InitDate()
  2. {
  3. CheckedListBoxItem[] itemArr = {
  4. new CheckedListBoxItem("全选",false),
  5. new CheckedListBoxItem("星期一", false),
  6. new CheckedListBoxItem("星期二", false),
  7. new CheckedListBoxItem("星期三", false),
  8. new CheckedListBoxItem("星期四", false),
  9. new CheckedListBoxItem("星期五", true),
  10. new CheckedListBoxItem("星期六", true),
  11. new CheckedListBoxItem("星期日", false)
  12. };
  13. checkedListBoxControl1.Items.AddRange(itemArr);
  14. checkedListBoxControl1.CheckOnClick = true;//控件点击一次就可以选中复选框
  15. checkedListBoxControl1.ItemCheck += CheckedListBoxControl1_ItemCheck;
  16.  
  17. }
  18.  
  19. /// <summary>
  20. /// 监听所有ItemCheck选中状态事件
  21. /// </summary>
  22. /// <param name="sender"></param>
  23. /// <param name="e"></param>
  24. private void CheckedListBoxControl1_ItemCheck(object sender, DevExpress.XtraEditors.Controls.ItemCheckEventArgs e)
  25. {
  26.  
  27. //MessageBox.Show(checkedListBoxControl1.GetItemText(e.Index));
  28. //throw new NotImplementedException();
  29. if (checkedListBoxControl1.GetItemText(e.Index) == "全选")
  30. {
  31. if (checkedListBoxControl1.GetItemChecked(0))
  32. {
  33. //设置索引为index的项为选中状态
  34. for (int i = 1; i < checkedListBoxControl1.Items.Count; i++)
  35. {
  36. checkedListBoxControl1.SetItemChecked(i, true);
  37. }
  38. return;
  39. }
  40. else
  41. {
  42. //设置索引为index的项为选中状态
  43. for (int i = 1; i < checkedListBoxControl1.Items.Count; i++)
  44. {
  45. checkedListBoxControl1.SetItemChecked(i, false);
  46. }
  47. return;//return 解决了 CheckOnClick 检测单击或者双击延迟的问题
  48. }
  49.  
  50. }
  51. else
  52. {
  53. MessageBox.Show("osa");
  54. }
  55.  
  56. }

  

  1. using DevExpress.XtraEditors;
  2. using DevExpress.XtraEditors.Controls;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.ComponentModel;
  6. using System.Data;
  7. using System.Drawing;
  8. using System.Linq;
  9. using System.Text;
  10. using System.Windows.Forms;
  11. using YKERP.BaseForms;
  12. using YKERP.Business;
  13. using YKERP.Common;
  14. using YKERP.Tools;
  15.  
  16. namespace YKERP.SCM._ReplenishmentMgt.PurchaseOrders
  17. {
  18. public partial class ReplenishmentCycleAddOrEdit : YKBaseForm
  19. {
  20. private string series = null;
  21. //定义委托
  22. public delegate void FuncRefresh();
  23. //定义事件
  24. public event FuncRefresh myRefresh;
  25.  
  26. public ReplenishmentCycleAddOrEdit(Dictionary<string, string> Par)
  27. {
  28. InitializeComponent();
  29. InitData();
  30. if (Par != null)
  31. {
  32. this.series = Par["series"];
  33. Select_Store.ReadOnly = true;
  34. Select_Store.EditValue = Par["sub_unit_num_id"];
  35. Select_Status.EditValue = Par["status_num_id"];
  36. Text_Delivery.Text = Par["delivery_day"];
  37. char[] chs = Par["replenish_weekly_day_flag"].ToCharArray();//分成一个一个的数字
  38. List<string> scoreList = new List<string>();//创建了一个空列表
  39. foreach (var stu in chs)
  40. {
  41. switch (stu)
  42. {
  43. case '1':
  44. scoreList.Add("星期一");
  45. break;
  46. case '2':
  47. scoreList.Add("星期二");
  48. break;
  49. case '3':
  50. scoreList.Add("星期三");
  51. break;
  52. case '4':
  53. scoreList.Add("星期四");
  54. break;
  55. case '5':
  56. scoreList.Add("星期五");
  57. break;
  58. case '6':
  59. scoreList.Add("星期六");
  60. break;
  61. case '7':
  62. scoreList.Add("星期日");
  63. break;
  64. default:
  65. break;
  66. }
  67. }
  68.  
  69. System.String[] str = scoreList.ToArray();
  70.  
  71. for (int i = 1; i < checkedListBoxControl1.Items.Count; i++)
  72. {
  73.  
  74. foreach (string _statisticalTime in str)
  75. {
  76. if (checkedListBoxControl1.GetItemValue(i).ToString() == _statisticalTime)
  77. {
  78. checkedListBoxControl1.SetItemChecked(i, true);
  79. }
  80. }
  81.  
  82. }
  83.  
  84. //CheckedComboBoxEdit 类型的控件
  85. /* if (str != null)
  86. //修改默认选中
  87. foreach (CheckedListBoxItem item in Text_SupplierReplenishment.Properties.Items)
  88. {
  89. foreach (string _statisticalTime in str)
  90. {
  91. if (item.Value.ToString() == _statisticalTime)
  92. {
  93. item.CheckState = CheckState.Checked;
  94. }
  95.  
  96. }
  97. }*/
  98. }
  99.  
  100. }
  101.  
  102. private void InitData()
  103. {
  104. Select_Store.BindData(CommonDicType.门店);
  105. var status_type = new List<object>() {
  106. new { id = "1", name = "未生效" },
  107. new { id = "2", name = "生效" },
  108. };
  109. Select_Status.BindDataTable(YKTool.listToDataTable(status_type));
  110. Select_Status.EditValue = 2; //选择第一项
  111. //自定义数组
  112. //string[] strs = new string[] { "星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日" };
  113. //添加项
  114. // Text_SupplierReplenishment.Properties.Items.AddRange(strs);
  115. InitDate();
  116.  
  117. }
  118.  
  119. private void InitDate()
  120. {
  121. CheckedListBoxItem[] itemArr = {
  122. new CheckedListBoxItem("全选",false),
  123. new CheckedListBoxItem("星期一", false),
  124. new CheckedListBoxItem("星期二", false),
  125. new CheckedListBoxItem("星期三", false),
  126. new CheckedListBoxItem("星期四", false),
  127. new CheckedListBoxItem("星期五", true),
  128. new CheckedListBoxItem("星期六", true),
  129. new CheckedListBoxItem("星期日", false)
  130. };
  131. checkedListBoxControl1.Items.AddRange(itemArr);
  132. checkedListBoxControl1.CheckOnClick = true;//控件点击一次就可以选中复选框
  133. checkedListBoxControl1.ItemCheck += CheckedListBoxControl1_ItemCheck;
  134. checkedListBoxControl1.SelectedValueChanged += CheckedListBoxControl1_SelectedValueChanged; ;
  135.  
  136. }
  137.  
  138. private void CheckedListBoxControl1_ItemCheck(object sender, DevExpress.XtraEditors.Controls.ItemCheckEventArgs e)
  139. {
  140. //MessageBox.Show(checkedListBoxControl1.GetItemText(e.Index));
  141. //throw new NotImplementedException();
  142. if (checkedListBoxControl1.GetItemText(e.Index) == "全选")
  143. {
  144. if (checkedListBoxControl1.GetItemChecked(0))
  145. {
  146. //设置索引为index的项为选中状态
  147. for (int i = 1; i < checkedListBoxControl1.Items.Count; i++)
  148. {
  149. if (checkedListBoxControl1.SelectedIndex != i)
  150. checkedListBoxControl1.SetItemChecked(i, true);
  151. }
  152. return;
  153. }
  154. else
  155. {
  156. //设置索引为index的项为选中状态
  157. for (int i = 1; i < checkedListBoxControl1.Items.Count; i++)
  158. {
  159. if (checkedListBoxControl1.SelectedIndex != i)
  160. checkedListBoxControl1.SetItemChecked(i, false);
  161. }
  162. return;//return 解决了 CheckOnClick 检测单击或者双击延迟的问题
  163. }
  164.  
  165. }
  166. }
  167.  
  168. private void CheckedListBoxControl1_SelectedValueChanged(object sender, EventArgs e)
  169. {
  170. List<object> objList = checkedListBoxControl1.Items.GetCheckedValues();
  171. //解决失灵的
  172. if (checkedListBoxControl1.GetItemChecked(checkedListBoxControl1.SelectedIndex))
  173. {
  174. checkedListBoxControl1.SetItemCheckState(checkedListBoxControl1.SelectedIndex, CheckState.Checked);
  175. }
  176. else
  177. checkedListBoxControl1.SetItemCheckState(checkedListBoxControl1.SelectedIndex, CheckState.Unchecked);
  178.  
  179. if (objList.Count() == (checkedListBoxControl1.Items.Count - 2))
  180. {
  181. checkedListBoxControl1.SetItemCheckState(0, CheckState.Checked);
  182. //checkedListBoxControl1.SetItemCheckState(checkedListBoxControl1.SelectedIndex, CheckState.Unchecked);
  183. }
  184. if (objList.Count() == 2)
  185. {
  186. checkedListBoxControl1.SetItemCheckState(0, CheckState.Unchecked);
  187. //checkedListBoxControl1.SetItemCheckState(checkedListBoxControl1.SelectedIndex, CheckState.Unchecked);
  188. }
  189.  
  190. }
  191.  
  192. private void btn_AddOrEdit_Click(object sender, EventArgs e)
  193. {
  194. if (string.IsNullOrWhiteSpace(Select_Store.Text))
  195. {
  196. MessageHelper.InfoMsg("请选择门店");
  197. return;
  198. }
  199.  
  200. //MessageBox.Show(Text_SupplierReplenishment.EditValue.ToString());
  201. Dictionary<string, string> data = new Dictionary<string, string>();
  202. var _Store = Select_Store.EditValue?.ToString()?.ToInt() ?? 0;
  203. if (_Store > 0) //门店
  204. data.Add("sub_unit_num_id", _Store.ToString());
  205. data.Add("delivery_day", Text_Delivery.Text);
  206. var _Status = Select_Status.EditValue?.ToString()?.ToInt() ?? 0;
  207. if (_Status > 0) //状态
  208. data.Add("status_num_id", _Status.ToString());
  209. else
  210. {
  211. MessageHelper.InfoMsg("状态不能为空");
  212. return;
  213. }
  214. if (this.series != null)
  215. data.Add("series", this.series);
  216.  
  217. //
  218.  
  219. //List<object> List = Text_SupplierReplenishment.Properties.Items.GetCheckedValues();
  220. List<Object> list = new List<object> { };
  221. string a = null;
  222. for (int i = 0; i < checkedListBoxControl1.Items.Count; i++)
  223. {
  224. if (checkedListBoxControl1.GetItemChecked(i))
  225. {
  226. a = checkedListBoxControl1.GetItemValue(i).ToString();
  227. list.Add(a);
  228. }
  229. }
  230.  
  231. char[] charnumbers = new char[7] { '0', '0', '0', '0', '0', '0', '0' };//定长
  232. foreach (var stu in list)
  233. {
  234. switch (stu)
  235. {
  236. case "星期一":
  237. charnumbers[0] = '1';
  238. break;
  239. case "星期二":
  240. charnumbers[1] = '2';
  241. break;
  242. case "星期三":
  243. charnumbers[2] = '3';
  244. break;
  245. case "星期四":
  246. charnumbers[3] = '4';
  247. break;
  248. case "星期五":
  249. charnumbers[4] = '5';
  250. break;
  251. case "星期六":
  252. charnumbers[5] = '6';
  253. break;
  254. case "星期日":
  255. charnumbers[6] = '7';
  256. break;
  257. default:
  258. break;
  259.  
  260. }
  261. }
  262.  
  263. //MessageBox.Show(res + "--" + res.Count());
  264. data.Add("replenish_weekly_day_flag", string.Join("", charnumbers));
  265. string result = UnitOfWork<DAL>.Resolve.ReplenishmentCycleAddOrEdit(data, out string errors);
  266. if (errors != null)
  267. {
  268. MessageHelper.InfoMsg(errors);
  269. return;
  270. }
  271. if (result != "" || result != null)
  272. {
  273. if (this.series != null)
  274. MessageHelper.InfoMsg("编辑成功");
  275. else
  276. MessageHelper.InfoMsg("添加成功");
  277. this.Close();
  278. myRefresh();
  279. }
  280. else
  281. {
  282. MessageHelper.InfoMsg(errors.ToString());
  283. }
  284. }
  285. }
  286. }

  

原本的

  1. using DevExpress.XtraEditors;
  2. using DevExpress.XtraEditors.Controls;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.ComponentModel;
  6. using System.Data;
  7. using System.Drawing;
  8. using System.Linq;
  9. using System.Text;
  10. using System.Windows.Forms;
  11. using YKERP.BaseForms;
  12. using YKERP.Business;
  13. using YKERP.Common;
  14. using YKERP.Tools;
  15.  
  16. namespace YKERP.SCM._ReplenishmentMgt.PurchaseOrders
  17. {
  18. public partial class ReplenishmentCycleAddOrEdit : YKBaseForm
  19. {
  20. private string series = null;
  21. //定义委托
  22. public delegate void FuncRefresh();
  23. //定义事件
  24. public event FuncRefresh myRefresh;
  25.  
  26. public ReplenishmentCycleAddOrEdit(Dictionary<string, string> Par)
  27. {
  28. InitializeComponent();
  29. InitData();
  30. if (Par != null)
  31. {
  32. this.series = Par["series"];
  33. Select_Store.ReadOnly = true;
  34. Select_Store.EditValue = Par["sub_unit_num_id"];
  35. Select_Status.EditValue = Par["status_num_id"];
  36. Text_Delivery.Text = Par["delivery_day"];
  37. char[] chs = Par["replenish_weekly_day_flag"].ToCharArray();//分成一个一个的数字
  38. List<string> scoreList = new List<string>();//创建了一个空列表
  39. foreach (var stu in chs)
  40. {
  41. switch (stu)
  42. {
  43. case '1':
  44. scoreList.Add("星期一");
  45. break;
  46. case '2':
  47. scoreList.Add("星期二");
  48. break;
  49. case '3':
  50. scoreList.Add("星期三");
  51. break;
  52. case '4':
  53. scoreList.Add("星期四");
  54. break;
  55. case '5':
  56. scoreList.Add("星期五");
  57. break;
  58. case '6':
  59. scoreList.Add("星期六");
  60. break;
  61. case '7':
  62. scoreList.Add("星期日");
  63. break;
  64. default:
  65. break;
  66. }
  67. }
  68.  
  69. System.String[] str = scoreList.ToArray();
  70.  
  71. for (int i = 1; i < checkedListBoxControl1.Items.Count; i++)
  72. {
  73.  
  74. foreach (string _statisticalTime in str)
  75. {
  76. if (checkedListBoxControl1.GetItemValue(i).ToString() == _statisticalTime)
  77. {
  78. checkedListBoxControl1.SetItemChecked(i, true);
  79. }
  80. }
  81.  
  82. }
  83.  
  84. //CheckedComboBoxEdit 类型的控件
  85. /* if (str != null)
  86. //修改默认选中
  87. foreach (CheckedListBoxItem item in Text_SupplierReplenishment.Properties.Items)
  88. {
  89. foreach (string _statisticalTime in str)
  90. {
  91. if (item.Value.ToString() == _statisticalTime)
  92. {
  93. item.CheckState = CheckState.Checked;
  94. }
  95.  
  96. }
  97. }*/
  98. }
  99.  
  100. }
  101.  
  102. private void InitData()
  103. {
  104. Select_Store.BindData(CommonDicType.门店);
  105. var status_type = new List<object>() {
  106. new { id = "1", name = "未生效" },
  107. new { id = "2", name = "生效" },
  108. };
  109. Select_Status.BindDataTable(YKTool.listToDataTable(status_type));
  110. Select_Status.EditValue = 2; //选择第一项
  111. //自定义数组
  112. //string[] strs = new string[] { "星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日" };
  113. //添加项
  114. // Text_SupplierReplenishment.Properties.Items.AddRange(strs);
  115. InitDate();
  116.  
  117. }
  118.  
  119. private void InitDate()
  120. {
  121. CheckedListBoxItem[] itemArr = {
  122. new CheckedListBoxItem("全选",false),
  123. new CheckedListBoxItem("星期一", false),
  124. new CheckedListBoxItem("星期二", false),
  125. new CheckedListBoxItem("星期三", false),
  126. new CheckedListBoxItem("星期四", false),
  127. new CheckedListBoxItem("星期五", true),
  128. new CheckedListBoxItem("星期六", true),
  129. new CheckedListBoxItem("星期日", false)
  130. };
  131. checkedListBoxControl1.Items.AddRange(itemArr);
  132. checkedListBoxControl1.CheckOnClick = true;//控件点击一次就可以选中复选框
  133. checkedListBoxControl1.ItemChecking += CheckedListBoxControl1_ItemChecking; ;
  134.  
  135. }
  136.  
  137. private void CheckedListBoxControl1_ItemChecking(object sender, ItemCheckingEventArgs e)
  138. {
  139. //MessageBox.Show(checkedListBoxControl1.GetItemText(e.Index));
  140. //throw new NotImplementedException();
  141. if (checkedListBoxControl1.GetItemText(e.Index) == "全选")
  142. {
  143. if (checkedListBoxControl1.GetItemChecked(0))
  144. {
  145. //设置索引为index的项为选中状态
  146. for (int i = 1; i < checkedListBoxControl1.Items.Count; i++)
  147. {
  148. checkedListBoxControl1.SetItemChecked(i, false);
  149. }
  150. return;
  151. }
  152. else
  153. {
  154. //设置索引为index的项为选中状态
  155. for (int i = 1; i < checkedListBoxControl1.Items.Count; i++)
  156. {
  157. checkedListBoxControl1.SetItemChecked(i, true);
  158. }
  159. return;//return 解决了 CheckOnClick 检测单击或者双击延迟的问题
  160. }
  161.  
  162. }
  163.  
  164. if (checkedListBoxControl1.GetItemText(e.Index) != "全选")
  165. {
  166.  
  167. if (checkedListBoxControl1.SelectedItems.Count() == checkedListBoxControl1.Items.Count)
  168. {
  169. checkedListBoxControl1.SetItemChecked(0, true);
  170. }
  171.  
  172. }
  173.  
  174. }
  175.  
  176. /// <summary>
  177. /// 监听所有ItemCheck选中状态事件
  178. /// </summary>
  179. /// <param name="sender"></param>
  180. /// <param name="e"></param>
  181. private void CheckedListBoxControl1_ItemCheck(object sender, DevExpress.XtraEditors.Controls.ItemCheckEventArgs e)
  182. {
  183.  
  184. //MessageBox.Show(checkedListBoxControl1.GetItemText(e.Index));
  185. //throw new NotImplementedException();
  186. if (checkedListBoxControl1.GetItemText(e.Index) == "全选")
  187. {
  188. if (checkedListBoxControl1.GetItemChecked(0))
  189. {
  190. //设置索引为index的项为选中状态
  191. for (int i = 1; i < checkedListBoxControl1.Items.Count; i++)
  192. {
  193. checkedListBoxControl1.SetItemChecked(i, true);
  194. }
  195. return;
  196. }
  197. else
  198. {
  199. //设置索引为index的项为选中状态
  200. for (int i = 1; i < checkedListBoxControl1.Items.Count; i++)
  201. {
  202. checkedListBoxControl1.SetItemChecked(i, false);
  203. }
  204. return;//return 解决了 CheckOnClick 检测单击或者双击延迟的问题
  205. }
  206.  
  207. }
  208. else
  209. {
  210. MessageBox.Show("osa");
  211. }
  212.  
  213. }
  214.  
  215. private void btn_AddOrEdit_Click(object sender, EventArgs e)
  216. {
  217. if (string.IsNullOrWhiteSpace(Select_Store.Text))
  218. {
  219. MessageHelper.InfoMsg("请选择门店");
  220. return;
  221. }
  222.  
  223. //MessageBox.Show(Text_SupplierReplenishment.EditValue.ToString());
  224. Dictionary<string, string> data = new Dictionary<string, string>();
  225. var _Store = Select_Store.EditValue?.ToString()?.ToInt() ?? 0;
  226. if (_Store > 0) //门店
  227. data.Add("sub_unit_num_id", _Store.ToString());
  228. data.Add("delivery_day", Text_Delivery.Text);
  229. var _Status = Select_Status.EditValue?.ToString()?.ToInt() ?? 0;
  230. if (_Status > 0) //状态
  231. data.Add("status_num_id", _Status.ToString());
  232. else
  233. {
  234. MessageHelper.InfoMsg("状态不能为空");
  235. return;
  236. }
  237. if (this.series != null)
  238. data.Add("series", this.series);
  239.  
  240. //
  241.  
  242. //List<object> List = Text_SupplierReplenishment.Properties.Items.GetCheckedValues();
  243. List<Object> list = new List<object> { };
  244. string a=null;
  245. for (int i = 0; i < checkedListBoxControl1.Items.Count; i++)
  246. {
  247. if (checkedListBoxControl1.GetItemChecked(i))
  248. {
  249. a = checkedListBoxControl1.GetItemValue(i).ToString();
  250. list.Add(a);
  251. }
  252. }
  253.  
  254. char[] charnumbers = new char[7] { '0', '0', '0', '0', '0', '0', '0' };//定长
  255. foreach (var stu in list)
  256. {
  257. switch (stu)
  258. {
  259. case "星期一":
  260. charnumbers[0] = '1';
  261. break;
  262. case "星期二":
  263. charnumbers[1] = '2';
  264. break;
  265. case "星期三":
  266. charnumbers[2] = '3';
  267. break;
  268. case "星期四":
  269. charnumbers[3] = '4';
  270. break;
  271. case "星期五":
  272. charnumbers[4] = '5';
  273. break;
  274. case "星期六":
  275. charnumbers[5] = '6';
  276. break;
  277. case "星期日":
  278. charnumbers[6] = '7';
  279. break;
  280. default:
  281. break;
  282.  
  283. }
  284. }
  285.  
  286. //MessageBox.Show(res + "--" + res.Count());
  287. data.Add("replenish_weekly_day_flag", string.Join("", charnumbers));
  288. string result = UnitOfWork<DAL>.Resolve.ReplenishmentCycleAddOrEdit(data, out string errors);
  289. if (errors!=null)
  290. {
  291. MessageHelper.InfoMsg(errors);
  292. return;
  293. }
  294. if (result != "" || result != null)
  295. {
  296. if (this.series != null)
  297. MessageHelper.InfoMsg("编辑成功");
  298. else
  299. MessageHelper.InfoMsg("添加成功");
  300. this.Close();
  301. myRefresh();
  302. }
  303. else
  304. {
  305. MessageHelper.InfoMsg(errors.ToString());
  306. }
  307. }
  308. }
  309. }

  

三、checkedListBoxControl的更多相关文章

  1. 常用 Gulp 插件汇总 —— 基于 Gulp 的前端集成解决方案(三)

    前两篇文章讨论了 Gulp 的安装部署及基本概念,借助于 Gulp 强大的 插件生态 可以完成很多常见的和不常见的任务.本文主要汇总常用的 Gulp 插件及其基本使用,需要读者对 Gulp 有一个基本 ...

  2. 【原】FMDB源码阅读(三)

    [原]FMDB源码阅读(三) 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 FMDB比较优秀的地方就在于对多线程的处理.所以这一篇主要是研究FMDB的多线程处理的实现.而 ...

  3. Jquery的点击事件,三句代码完成全选事件

    先来看一下Js和Jquery的点击事件 举两个简单的例子 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN&q ...

  4. node.js学习(三)简单的node程序&&模块简单使用&&commonJS规范&&深入理解模块原理

    一.一个简单的node程序 1.新建一个txt文件 2.修改后缀 修改之后会弹出这个,点击"是" 3.运行test.js 源文件 使用node.js运行之后的. 如果该路径下没有该 ...

  5. 简谈百度坐标反转至WGS84的三种思路

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.背景 基于百度地图进行数据展示是目前项目中常见场景,但是因为百度地图 ...

  6. 一起学 Java(三) 集合框架、数据结构、泛型

    一.Java 集合框架 集合框架是一个用来代表和操纵集合的统一架构.所有的集合框架都包含如下内容: 接口:是代表集合的抽象数据类型.接口允许集合独立操纵其代表的细节.在面向对象的语言,接口通常形成一个 ...

  7. 谈谈一些有趣的CSS题目(三)-- 层叠顺序与堆栈上下文知多少

    开本系列,讨论一些有趣的 CSS 题目,抛开实用性而言,一些题目为了拓宽一下解决问题的思路,此外,涉及一些容易忽视的 CSS 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题中有你感觉 ...

  8. 如何一步一步用DDD设计一个电商网站(三)—— 初涉核心域

    一.前言 结合我们本次系列的第一篇博文中提到的上下文映射图(传送门:如何一步一步用DDD设计一个电商网站(一)—— 先理解核心概念),得知我们这个电商网站的核心域就是销售子域.因为电子商务是以信息网络 ...

  9. 测试一下StringBuffer和StringBuilder及字面常量拼接三种字符串的效率

    之前一篇里写过字符串常用类的三种方式<java中的字符串相关知识整理>,只不过这个只是分析并不知道他们之间会有多大的区别,或者所谓的StringBuffer能提升多少拼接效率呢?为此写个简 ...

随机推荐

  1. pytorch的backward

    在学习的过程中遇见了一个问题,就是当使用backward()反向传播时传入参数的问题: net.zero_grad() #所有参数的梯度清零 output.backward(Variable(t.on ...

  2. pytorch学习-AUTOGRAD: AUTOMATIC DIFFERENTIATION自动微分

    参考:https://pytorch.org/tutorials/beginner/blitz/autograd_tutorial.html#sphx-glr-beginner-blitz-autog ...

  3. mysql之grant权限说明

    mysql中给一个用户授权如select,insert,update,delete等其中的一个或者多个权限,主要使用grant命令,格式为: 给没有用户授权 grant 权限 on 数据库对象 to ...

  4. GT常见问题

    1.需要root? 大部分核心功能都需要root权限.需要root的功能有:FPS.Mem Assistant.Logcat日志.抓包.流畅度获取(未开放). 2.root工具总弹出提示框要确认roo ...

  5. Linux Namespace : 简介

    在初步的了解 docker 后,笔者期望通过理解 docker 背后的技术原理来深入的学习和使用 docker,接下来的几篇文章简单的介绍下 linux namespace 的概念以及基本用法. na ...

  6. MYSQL中SUM (IF())

    今天一个朋友突然给我发过来一个sql语句,一下子问住我了. 我想,这种语法木有见过呀.我就查了查,才明白什么意思,原来是mysql里面的用法. SUM(IF(`hosts`.state = 0, 1, ...

  7. 割顶树 BZOJ1123 BLO

    无向图中,求去掉点x[1,n]后每个联通块的大小. 考虑tarjan求bcc的dfs树,对于每个点u及其儿子v,若low[v]<prv[u],则v对u的父亲联通块有贡献,否则对u的子树有贡献.每 ...

  8. elasticsearch elk最全java api 搜索 聚合、嵌套查询

    目录 一. 一般查询... 2 (一) matchAllQuery(client). 2 (二) matchQuery(client);3 (三) multiMatchQuery(client);3 ...

  9. UITableView加载数据,没有数据,没有网络界面处理

    https://blog.csdn.net/chmod_r_755/article/details/53231461 俗话说的好,傻逼的APP都是相似的,牛逼的APP各有各的牛逼...但是UITabl ...

  10. Java向下转型的意义

    一开始学习 Java 时不重视向下转型.一直搞不清楚向下转型的意义和用途,不清楚其实就是不会,那开发的过程肯定也想不到用向下转型. 其实向上转型和向下转型都是很重要的,可能我们平时见向上转型多一点,向 ...