private void 使用量検索()
        {
            //アクティブボタン = 在庫検索ボタンEnum.使用量;


            dg現在庫.Visible = false;
            dg使用量.Visible = true;
            dg不動品.Visible = false;
            dg後発品.Visible = false;

            // 空文字ならば、検索しない。
            if (tb検索キーワード.Text.Replace(" ", "").Replace(" ", "").Equals(""))
            {
                //// カーソルをもとの状態にする
                //this.SetCursorDefault();

                return;
            }

            bool 全期限   = false;
            int  期限加算月 = 3;

            if (ddl使用量検索.SelectedIndex == 0)
            {
                全期限 = true;
            }
            else
            {
                期限加算月 = Set使用量検索期限加算月();
            }

            Service.File.Reader.FileReaderClient client = ReferenceCreater.GetFileReaderClient();

            //var rdataset = client.Open使用量CSV(tb検索キーワード.Text, 全期限, 期限加算月);
            var rdataset = client.Open使用量2CSV(tb検索キーワード.Text, 全期限, 期限加算月);


            if (string.IsNullOrEmpty(rdataset.エラーメッセージ))
            {
                var dataList = rdataset.検索結果データlist.ToList();
                var 表示順序dic  = Session["店舗名List"] as Dictionary <int, string>;
                if (表示順序dic == null)
                {
                    return;
                }

                // 表示順序に登録されていない店舗があった場合に使用する臨時dic
                var CopyDic = GenericUtil.Copy(表示順序dic);
                int cnt     = CopyDic.Count + 1;

                dataList.Sort(
                    delegate(薬局使用量データ x, 薬局使用量データ y)
                {
                    int xValue = 0;
                    int yValue = 0;
                    foreach (var d in CopyDic)
                    {
                        if (d.Value.Equals(x.店名))
                        {
                            xValue = d.Key;
                        }

                        if (d.Value.Equals(y.店名))
                        {
                            yValue = d.Key;
                        }
                    }

                    // 一致するものがなかったら、臨時のcntの番号にする(表示順序が後ろ)
                    bool xy店名が等しい = false;
                    if (xValue == 0)
                    {
                        if (x.店名.Equals(y.店名))
                        {
                            xy店名が等しい = true;
                        }

                        xValue = cnt;
                        CopyDic.Add(cnt, x.店名);
                        cnt++;
                    }

                    if (yValue == 0)
                    {
                        if (xy店名が等しい)
                        {
                            yValue = xValue;
                        }
                        else
                        {
                            yValue = cnt;
                            CopyDic.Add(cnt, y.店名);
                            cnt++;
                        }
                    }

                    if (xValue != yValue)
                    {
                        return(xValue - yValue);
                    }

                    // 等しい場合は、さらに使用年月日で比較する
                    if (xValue == yValue)
                    {
                        DateTime xの年月日;
                        DateTime yの年月日;

                        // xがDateTimeにキャストできない場合は、後ろに
                        if (DateTime.TryParse(x.使用年月, out xの年月日) == false)
                        {
                            return(1);
                        }


                        // yがDateTimeにキャストできない場合は、前に
                        if (DateTime.TryParse(y.使用年月, out yの年月日) == false)
                        {
                            return(-1);
                        }


                        if (xの年月日 > yの年月日)
                        {
                            return(-1);
                        }
                        else if (yの年月日 > xの年月日)
                        {
                            return(1);
                        }
                    }

                    // 店名が等しく、使用年月も等しい場合は、医薬品名のアイウエオ順
                    if (xValue == yValue)
                    {
                        return(x.医薬品名.CompareTo(y.医薬品名));
                    }


                    return(xValue - yValue);
                }
                    );

                dg使用量.DataSource = dataList;
                dg使用量.DataBind();

                Set在庫検索結果Result(dataList.Count, rdataset.検索キーワード);
            }
            else
            {
                lbSearchResult.Text = rdataset.エラーメッセージ;
            }
        }